BlueOS icon indicating copy to clipboard operation
BlueOS copied to clipboard

frontend: vehicle-setup: ask for confirmation on reset all parameters button

Open nicoschmdt opened this issue 3 months ago • 1 comments

fix: #3540

image

Summary by Sourcery

Add a warning dialog for the “Reset All Parameters” button and only display the reset card when pirate mode is enabled

Enhancements:

  • Show a confirmation dialog before performing a full parameter reset
  • Restrict the reset parameters card to pirate mode

nicoschmdt avatar Nov 03 '25 17:11 nicoschmdt

Reviewer's Guide

This PR moves the Reset All Parameters feature behind a pirate mode flag and introduces a confirmation dialog to prevent accidental wipes by replacing the direct wipe action with a warning modal, wiring in a new show_warning state and importing the settings module.

Sequence diagram for the new confirmation dialog before parameter reset

sequenceDiagram
  actor User
  participant "ParamSets.vue"
  participant "Confirmation Dialog"
  User->>"ParamSets.vue": Clicks "Reset All Parameters"
  "ParamSets.vue"->>"Confirmation Dialog": Opens dialog (show_warning = true)
  User->>"Confirmation Dialog": Clicks "Cancel"
  "Confirmation Dialog"->>"ParamSets.vue": Closes dialog (show_warning = false)
  User->>"Confirmation Dialog": Clicks "Yes, reset them"
  "Confirmation Dialog"->>"ParamSets.vue": Calls wipe()
  "ParamSets.vue"->>"ParamSets.vue": Performs wipe logic

Class diagram for updated ParamSets component state

classDiagram
  class ParamSets {
    +settings: Settings
    +show_warning: Boolean
    +wipe_successful: Boolean
    +erasing: Boolean
    +rebooting: Boolean
    +done: Boolean
    +board(): String | undefined
    +wipe()
  }
  class Settings
  ParamSets --> Settings

File-Level Changes

Change Details Files
Gate reset card display on pirate mode flag
  • Add v-if binding on the reset card using settings.is_pirate_mode
core/frontend/src/components/vehiclesetup/overview/ParamSets.vue
Replace direct wipe call with warning dialog trigger
  • Change reset button’s @click from wipe() to setting show_warning
core/frontend/src/components/vehiclesetup/overview/ParamSets.vue
Implement confirmation dialog for parameter reset
  • Add v-dialog with warning text, Cancel and Confirm buttons
  • Wire Confirm button to invoke wipe() and Cancel to close modal
core/frontend/src/components/vehiclesetup/overview/ParamSets.vue
Add component state for settings and dialog control
  • Import settings module
  • Add show_warning data property alongside existing state
core/frontend/src/components/vehiclesetup/overview/ParamSets.vue

Possibly linked issues

  • #123: The PR implements both hiding the 'Reset Parameters' button behind Pirate Mode and adding a large confirmation warning dialog as requested in the issue.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an issue from a review comment by replying to it. You can also reply to a review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull request title to generate a title at any time. You can also comment @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment @sourcery-ai summary on the pull request to (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

  • Contact our support team for questions or feedback.
  • Visit our documentation for detailed guides and information.
  • Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.

sourcery-ai[bot] avatar Nov 03 '25 17:11 sourcery-ai[bot]