Files
emba-course-solver/openspec/changes/course-description-popups/proposal.md

1.4 KiB

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