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
This commit is contained in:
23
openspec/changes/ui-improvements/specs/bulk-actions/spec.md
Normal file
23
openspec/changes/ui-improvements/specs/bulk-actions/spec.md
Normal file
@@ -0,0 +1,23 @@
|
||||
## 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
|
||||
Reference in New Issue
Block a user