User Interface medium complexity mobile
0
Dependencies
0
Dependents
2
Entities
0
Integrations

Description

Displays a scrollable, org-filtered list of available courses fetched from the REST API and cached locally via Drift for offline browsing. Shows per-course enrollment status and is hidden entirely at runtime when the certification-training module toggle is disabled for the tenant.

Feature: Course Registration

course-catalog-screen

Sources & reasoning

Primary entry point for peer mentors discovering courses. The feature's core UX is catalog browsing - without this screen, enrollment is unreachable. Org filtering and offline caching are mandated by the multi-tenant module toggle pattern and the offline-first architecture.

No source references — this artifact was included based on reasoning alone (see above).

Responsibilities

  • Render org-filtered course list from Riverpod provider
  • Show enrollment status badge per course row
  • Support offline browsing via Drift-cached data
  • Navigate to course detail on tap

Interfaces

build(BuildContext)
onCourseTap(String courseId)
refresh()

Related Data Entities (2)

Data entities managed by this component