- Add responsive 2-panel layout (mobile single-col, tablet/desktop grid) - Unify specialization ranking with credit bars, status badges, and expandable allocation breakdowns (remove standalone ResultsDashboard) - Inline decision tree ceiling data on course buttons with spec counts - Add Clear All button to reset all course selections - Add collapsible CreditLegend explaining bars, badges, and limits - Extract ModeComparison and MutualExclusionWarnings to Notifications - Add useMediaQuery hook with matchMedia-based breakpoint detection
1.0 KiB
1.0 KiB
ADDED Requirements
Requirement: Clear all course selections
The course selection panel SHALL provide a "Clear All" button that resets all pinned course selections at once.
Scenario: Clear all with some pinned
- WHEN at least one course is pinned and the user clicks "Clear All"
- THEN all pinned courses SHALL be unpinned and every elective set SHALL return to the open state showing all course options
Scenario: Clear all button visibility
- WHEN no courses are pinned
- THEN the "Clear All" button SHALL not be visible
Scenario: Clear all button visible
- WHEN at least one course is pinned
- THEN the "Clear All" button SHALL be visible in the course selection panel header
Requirement: State persistence after clear all
After clearing all selections, the cleared state SHALL be persisted to localStorage like any other state change.
Scenario: Persistence
- WHEN the user clicks "Clear All" and reloads the page
- THEN all sets SHALL remain in the open (unpinned) state