Skip to content

Conversation

@MaxFrank13
Copy link
Member

@MaxFrank13 MaxFrank13 commented Nov 25, 2025

Related Github Issue in platform roadmap

[Proposal] Legacy Program Dashboard conversion

This PR adds the programs dashboard in accordance with the above proposal. This is a conversion of the legacy programs dashboard that lives in edx-platform. This PR converts the legacy frontend into a React based frontend that lives under its own route. The route is conditionally rendered based on a new ENABLE_PROGRAM_DASHBOARD environment variable, not to be confused with the ENABLE_PROGRAMS variable, which only handles the rendering of the "Programs" tab. This is done so that operators can choose to either use the legacy frontend or the new React-based frontend.

In order to create a new route in this MFE, the App.jsx file had to be refactored. The LearnerDashboardHeader and FooterSlot were moved out of App.jsx and into index.jsx. This aligns with the way other MFEs are setup. The h1 tag for the app was also moved to the LearnerDashboardHeader so that it would appear on all routes. The Header logic has also been refactored so that the correct tab is highlighted based on the pathname of the page.

All other changes are related to the Program Dashboard itself. The dashboard uses the /api/dashboard/v0/programs/ endpoint to retrieve enrollment data.

Directory structure

src/
└── containers/
    └── ProgramDashboard/
        ├── data/
        │   ├── api.ts
        │   └── types.d.ts
        └── ProgramsList/
            ├── ExploreProgramsCTA.test.tsx
            ├── ExploreProgramsCTA.tsx
            ├── index.scss
            ├── index.test.tsx
            ├── index.tsx
            ├── messages.ts
            ├── ProgramListCard.test.tsx
            ├── ProgramListCard.tsx
            ├── ProgressCategoryBubbles.test.tsx
            └── ProgressCategoryBubbles.tsx

Programs Dashboard

Has enrollments

Screenshot 2025-11-24 at 8 23 45 PM

Does not have enrollments

Screenshot 2025-11-24 at 8 22 40 PM

Error retrieving enrollment data

Screenshot 2025-11-24 at 3 46 20 PM

@codecov
Copy link

codecov bot commented Nov 25, 2025

Codecov Report

❌ Patch coverage is 97.54098% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.18%. Comparing base (2a0ed57) to head (fd3ff70).

Files with missing lines Patch % Lines
src/containers/ProgramDashboard/index.tsx 0.00% 2 Missing ⚠️
.../ProgramDashboard/ProgramsList/ProgramListCard.tsx 97.29% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #751      +/-   ##
==========================================
- Coverage   97.54%   97.18%   -0.37%     
==========================================
  Files         148      155       +7     
  Lines        1302     1419     +117     
  Branches      225      247      +22     
==========================================
+ Hits         1270     1379     +109     
- Misses         31       39       +8     
  Partials        1        1              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MaxFrank13 MaxFrank13 marked this pull request as ready for review November 25, 2025 15:38
@MaxFrank13
Copy link
Member Author

MaxFrank13 commented Nov 26, 2025

@openedx/openedx-product-managers this is ready for review

@deborahgu
Copy link
Member

@MaxFrank13, can you make codecov any happier?

Copy link
Member

@deborahgu deborahgu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm approving based on our prior reviews of this feature branch, but obviously wait for product manager review before merging.

@deborahgu
Copy link
Member

Note for @openedx/openedx-product-managers -- this is list page only. The details page is still legacy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants