Add design docs for achievable status fix and course description popups change artifacts
This commit is contained in:
26
openspec/changes/course-description-popups/proposal.md
Normal file
26
openspec/changes/course-description-popups/proposal.md
Normal file
@@ -0,0 +1,26 @@
|
||||
## Why
|
||||
|
||||
Users selecting elective courses have no way to see course descriptions or instructor information within the app. They must cross-reference a separate PDF document to understand what each course covers. Adding inline course info popups reduces friction and helps users make more informed selections.
|
||||
|
||||
## What Changes
|
||||
|
||||
- Add a new data file mapping each course ID to its description text and instructor list, extracted from the J27 Electives PDF and supplementary sources
|
||||
- Add an info icon `(i)` next to each course name in the course selection UI
|
||||
- Clicking/tapping the info icon opens a popover displaying the course description and instructor(s)
|
||||
- Popover closes on click outside, clicking the icon again, or pressing Escape
|
||||
- Works identically on desktop and mobile (no hover/long-press distinction)
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
- `course-info-popover`: Inline popover UI triggered by an info icon on each course, displaying course description and instructor(s) from a static data source
|
||||
|
||||
### Modified Capabilities
|
||||
|
||||
## Impact
|
||||
|
||||
- New file: `app/src/data/courseDescriptions.ts` — static data (~35 course entries with descriptions and instructor arrays)
|
||||
- Modified: `app/src/data/types.ts` — no changes needed (data lives in separate lookup, not on Course type)
|
||||
- Modified: `app/src/components/CourseSelection.tsx` — add info icon and popover component
|
||||
- No solver, state, or worker changes
|
||||
- No new dependencies
|
||||
Reference in New Issue
Block a user