Skip to content

feat: add ProgressTabCourseGradeHeaderSlot plugin slot - #52

Closed
abhalsod-sonata wants to merge 1 commit into
release-teakfrom
feat/LP-980
Closed

feat: add ProgressTabCourseGradeHeaderSlot plugin slot#52
abhalsod-sonata wants to merge 1 commit into
release-teakfrom
feat/LP-980

Conversation

@abhalsod-sonata

Copy link
Copy Markdown

Introduces a new ProgressTabCourseGradeHeaderSlot plugin slot that wraps the CourseGradeHeader component on the progress tab. This allows operators and plugins to replace or extend the course grade header shown when grades are fully or partially locked, without modifying core code.

Changes

  • ProgressTabCourseGradeHeaderSlot/index.jsx (new) — Plugin slot with ID org.openedx.frontend.learning.progress_tab_course_grade_header.v1 that renders CourseGradeHeader as its default content.
  • ProgressTabCourseGradeHeaderSlot/README.md (new) — Slot documentation with an env.config.jsx usage example.
  • CourseGrade.jsx — Replace the direct <CourseGradeHeader /> render with <ProgressTabCourseGradeHeaderSlot />.
  • plugin-slots/README.md — Add the new slot to the plugin slot index.

Companion PR

  • frontend-plugins: Extracts the Monarch DynamicExperienceSlot banner into a ProgressTabCourseGradeHeaderPlugin that targets this slot.

Screenshot:

image-20260724-132029

Testing

  • Existing tests continue to pass; the slot renders CourseGradeHeader by default with no behavioral change.

Support ticket:

Copilot AI review requested due to automatic review settings July 27, 2026 13:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds a new Progress-tab-specific plugin slot to make the “locked/partially locked grades” header extensible via @openedx/frontend-plugin-framework, without changing default behavior.

Changes:

  • Introduces ProgressTabCourseGradeHeaderSlot (org.openedx.frontend.learning.progress_tab_course_grade_header.v1) with CourseGradeHeader as default content.
  • Updates CourseGrade.jsx to render the new slot instead of rendering CourseGradeHeader directly.
  • Documents and indexes the new slot in the plugin-slots README files.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
src/plugin-slots/README.md Adds the new slot to the plugin slot index for discoverability.
src/plugin-slots/ProgressTabCourseGradeHeaderSlot/README.md Documents the slot ID, alias, and provides an env.config.jsx usage example.
src/plugin-slots/ProgressTabCourseGradeHeaderSlot/index.jsx Implements the new plugin slot with CourseGradeHeader as default content.
src/course-home/progress-tab/grades/course-grade/CourseGrade.jsx Switches the locked/partially locked header rendering to use the new plugin slot.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@abhalsod-sonata

Copy link
Copy Markdown
Author

Not require this PR.
We are use DynamicExperienceSlot instead of ProgressTabCourseGradeHeaderSlot.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants