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

1017 B

1. Data Layer

  • 1.1 Create app/src/data/courseDescriptions.ts with description and instructors array for each course ID, extracted from the PDF and ref/inovation-and-design.md
  • 1.2 Verify all course IDs in courses.ts have corresponding entries (no missing, no extras)

2. Popover Component

  • 2.1 Build a CourseInfoPopover component that displays course name, instructor(s), and scrollable description
  • 2.2 Add dismiss logic: click outside, Escape key, re-click info icon
  • 2.3 Ensure only one popover is open at a time

3. Info Icon Integration

  • 3.1 Add info icon button next to each course name in CourseSelection.tsx
  • 3.2 Use stopPropagation on info icon click to prevent course pinning
  • 3.3 Hide info icon for cancelled and disabled courses

4. Responsive / Polish

  • 4.1 Handle popover positioning on narrow screens (centered overlay or full-width card on mobile)
  • 4.2 Verify desktop and mobile parity (click/tap only, no hover/long-press)