Improve analysis UX: algorithm explanations, skeleton loading, auto-expand achieved specs

- Replace terse one-line optimization mode descriptions with clearer multi-sentence
  explanations of how Maximize Count and Priority Order algorithms behave
- Add skeleton loading placeholders on course buttons while analysis is pending
- Auto-expand achieved specializations to show credit breakdown by default
- Add instructional subtitles to Course Selection and Specializations sections
- Make Clear and Clear All buttons more prominent with visible backgrounds
This commit is contained in:
2026-02-28 21:56:06 -05:00
parent 6af24d9270
commit 969d4ff5a9
10 changed files with 201 additions and 17 deletions

View File

@@ -0,0 +1,14 @@
## 1. Algorithm Explanations
- [x] 1.1 Update ModeToggle description text for "maximize-count" mode with multi-sentence explanation covering: finds largest set of achievable specializations, ranking used only as tiebreaker
- [x] 1.2 Update ModeToggle description text for "priority-order" mode with multi-sentence explanation covering: processes specializations in ranked order top-to-bottom, locks in highest-ranked first, then adds more
## 2. Skeleton Loading
- [x] 2.1 Add skeleton placeholder component to CourseSelection.tsx — render 2-3 pulsing rectangular divs matching course button dimensions when `loading && !analysis && !isPinned`
- [x] 2.2 Remove the existing "analyzing..." text label from ElectiveSet
## 3. Expanded Achieved Specializations
- [x] 3.1 Change SpecializationRanking `expanded` state initialization to include all achieved specialization IDs from `result.achieved`
- [x] 3.2 Add effect or derived state to update `expanded` set when `result.achieved` changes, ensuring newly achieved specializations are auto-expanded