feat: UI updates for the Alert Message pop-up when a user attempts to navigate to another page while a plan is in progress #558
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
This pull request introduces a user-friendly workflow for handling navigation away from an active plan, ensuring users are warned and can confirm cancellation before leaving. It also refactors several components for improved code clarity and maintainability, and adds new styles for a consistent UI. The most important changes are grouped below:
Plan Cancellation Workflow
PlanCancellationDialogcomponent to prompt users for confirmation before cancelling an active plan.usePlanCancellationAlerthook to encapsulate logic for detecting active plans and handling cancellation with user confirmation, including API calls to cancel the plan if needed.PlanPage.tsxto use the new dialog and hook, managing dialog state and integrating cancellation logic into navigation handlers. [1] [2] [3]Component and Prop Refactoring
PlanPanelLeft.tsxand related models to support a newonNavigationWithAlertprop, ensuring navigation actions (like clicking the logo or selecting a task) trigger the cancellation workflow if needed. [1] [2] [3] [4] [5] [6] [7] [8]UI and Style Improvements
PanelLeftToolbar.tsxfor better accessibility and maintainability, supporting both clickable and link-based title navigation, and using new CSS classes.Panel.css,PlanPanelLeft.css, andPlanPage.cssfor consistent layout, dialog appearance, and improved accessibility. [1] [2] [3]Does this introduce a breaking change?
How to Test
What to Check
Verify that the following are valid
Other Information