Skip to content

Integrate the semester system across the frontend #260

Description

@AndresL230

Problem

The frontend has no real semester support. Today the EnrolledCourse type lacks a semester field, so GradebookLanding falls back to a hardcoded ['Spring 2026'] chip — multi-semester chips never populate (docs/gradebook-rollout-notes.md:52,69). It works only because every course in the DB defaults to that string.

Depends on

The backend/DB semester work (see cross-link below) — the frontend needs semester surfaced from /api/graph/<user>/courses before chips can populate from real data.

Work

  • Add semester to the EnrolledCourse / getCourses client type once the backend surfaces it.
  • Populate SemesterChips from the distinct semesters across enrollments instead of the hardcoded fallback.
  • Add a term selector wherever course context matters: gradebook landing/detail, library, and the onboarding "+ Add a course" flow (scoped to the chosen semester).

Pointers

  • docs/gradebook-rollout-notes.md (the getCourses follow-up)
  • docs/superpowers/specs/2026-05-02-gradebook-design.mdSemesterChips, multi-semester design intent

Related

Backend/DB counterpart: #259

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium priorityenhancementNew feature or requestfrontendFrontend / UI

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions