BlueOS
BlueOS copied to clipboard
frontend: vehicle-setup: ask for confirmation on reset all parameters button
fix: #3540
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
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 |
|
core/frontend/src/components/vehiclesetup/overview/ParamSets.vue |
| Replace direct wipe call with warning dialog trigger |
|
core/frontend/src/components/vehiclesetup/overview/ParamSets.vue |
| Implement confirmation dialog for parameter reset |
|
core/frontend/src/components/vehiclesetup/overview/ParamSets.vue |
| Add component state for settings and dialog control |
|
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 reviewon 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 issueto create an issue from it. -
Generate a pull request title: Write
@sourcery-aianywhere in the pull request title to generate a title at any time. You can also comment@sourcery-ai titleon the pull request to (re-)generate the title at any time. -
Generate a pull request summary: Write
@sourcery-ai summaryanywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment@sourcery-ai summaryon the pull request to (re-)generate the summary at any time. -
Generate reviewer's guide: Comment
@sourcery-ai guideon the pull request to (re-)generate the reviewer's guide at any time. -
Resolve all Sourcery comments: Comment
@sourcery-ai resolveon 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 dismisson 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 reviewto 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.