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:
@@ -0,0 +1,30 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Inline decision tree ceiling per course option
|
||||
When decision tree analysis is available for an open elective set, each course option button SHALL display its ceiling outcome (spec count and spec abbreviations) on the right side of the button.
|
||||
|
||||
#### Scenario: Ceiling data available
|
||||
- **WHEN** an open set has completed decision tree analysis and a course has a ceiling of 3 specs (BNK, FIN, LCM)
|
||||
- **THEN** the course button SHALL show the course name on the left and "3 specs (BNK, FIN, LCM)" on the right
|
||||
|
||||
#### Scenario: Ceiling data not yet available
|
||||
- **WHEN** an open set's decision tree analysis is still computing
|
||||
- **THEN** the course buttons SHALL render without ceiling data, and the set header SHALL show a subtle loading indicator
|
||||
|
||||
#### Scenario: Pinned set does not show ceiling
|
||||
- **WHEN** a set has a pinned course selection
|
||||
- **THEN** the set SHALL display the pinned course name without ceiling data (same as current behavior)
|
||||
|
||||
### Requirement: High impact indicator on set header
|
||||
When a set has high impact (variance > 0 in ceiling outcomes), the set header SHALL display a "high impact" indicator.
|
||||
|
||||
#### Scenario: High impact set
|
||||
- **WHEN** an open set's analysis shows impact > 0
|
||||
- **THEN** the set header SHALL display a "high impact" label next to the set name
|
||||
|
||||
### Requirement: No standalone decision tree section
|
||||
The standalone DecisionTree component at the bottom of the results dashboard SHALL be removed. All ceiling data SHALL be displayed inline within the course selection panel.
|
||||
|
||||
#### Scenario: All tree data inline
|
||||
- **WHEN** the user views the course selection panel
|
||||
- **THEN** there SHALL be no separate "Decision Tree" heading or section; all ceiling outcomes appear within their respective elective set cards
|
||||
Reference in New Issue
Block a user