Files
Bill Ballou f8bab9ee33 UI improvements: responsive layout, unified panels, credit legend
- 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
2026-02-28 21:17:50 -05:00

24 lines
1.0 KiB
Markdown

## 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