Repository navigation
feat/course-details-page - #250
Closed
pns-opswerks wants to merge 14 commits into
Closed
pns-opswerks wants to merge 14 commits into
pns-opswerks wants to merge 14 commits into
Conversation
Co-authored-by: Paul Nathaniel Sango <paulnathanielsango@192.168.1.4>
Release tip lacked these pages; required for HEADER_NAV_LINKS Library/History routes. Co-authored-by: Paul Nathaniel Sango <paulnathanielsango@192.168.1.4>
* feat: apply OpenLMS branding and design system customizations * feat: apply OpenLMS branding logos and favicon * Added custom header * Added patches * Updated branding colors * Modified footer background * Modified branding * Modified branding * Update theme branding assets (fonts, colors, logos) for learner dashboard landing page * Removed header and footer --------- Co-authored-by: Jeffrey Ramirez <ja.ramirez@opswerks.com>
* feat: apply OpenLMS branding and design system customizations * feat: apply OpenLMS branding logos and favicon * Added custom header * Added patches * Updated branding colors * Modified footer background * Modified branding * Modified branding * Update theme branding assets (fonts, colors, logos) for learner dashboard landing page * Removed header and footer * Added primary light --------- Co-authored-by: Jeffrey Ramirez <ja.ramirez@opswerks.com>
History is served at apps.local.openedx.io/history/ by frontend-app-history. Drop static_templates/history.html so local.openedx.io/history does not compete with the MFE route. Co-authored-by: Paul Nathaniel Sango <paulnathanielsango@192.168.1.2>
* feat: route catalog search to Search MFE Redirect /courses discovery queries to SEARCH_CATALOG_URL and wire the LMS navbar search input to the apps Search MFE URL. * fix: use slashless search URL fallback --------- Co-authored-by: Paul Nathaniel Sango <paulnathanielsango@192.168.1.7> Co-authored-by: Paul Nathaniel Sango <paulnathanielsango@192.168.1.8>
Add vanilla JS drawer behavior, navbar bell markup, and SCSS that match frontend-plugin-notifications so classic LMS pages get the same v1 drawer. Co-authored-by: Paul Nathaniel Sango <paulnathanielsango@192.168.1.8>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The course about page (
/courses/<id>/about) now uses the Course Details layout from Figma 92:4016, covering LMS 9 (Course Detail Page): course metadata, rating, due-date status and enrollment actions in one view. Enrollment still uses the standard Open edX flow and disabled states, so only the look changes. When thecourse_assignmentsapp is installed, the page reads provider, content type, duration and the learner's due date from it, with Overdue / Due Soon badges that match the learner dashboard's 7-day window.Related Ticket / Issue
LMS 9 - Course Details Page:
Type of Change
What Changed?
course_about.htmlis rebuilt as the Course Details layout: back link, title/rating/published/provider meta, duration and due-date stats, tags, the confidentiality note, hero banner (opens the course video when there is one), status row, CTAs, Description, Objectives, Course Outline and Related Courses.short_descriptiontooverview(sanitized withclean_dangerous_html) to default copy.course_assignmentsintegration readsCourseExtraInfo(provider, content type, duration) and the learner'sCourseAssignmentdue date. "Overdue" comes fromis_overdue; "Due Soon" only shows within 7 days and never for completed assignments, the same window asDUE_SOON_WINDOW_DAYSin the learner dashboard.courseware/_about.scssholds all the Course Details styles, with Google Sans Flex across the page (a scoped rule overrides the global Rockford!important),$cd-*variables,$primaryfor the main CTA, a responsive related-courses grid and dark-mode overrides.<link>inheadextra, using the same URL asnotifications.jsso the browser only fetches it once._extras.scss, andcourse_about_sidebar_header.htmlis now a comment-only stub, since the design has no social sidebar.static/images/course-about/.How Was This Tested?
Testing notes (optional):
Ran
just theme-scss(compiles and collectstatic cleanly) and loaded https://local.openedx.io/courses/course-v1:Opswerks+NODE201+2017_T1/about (200). Checked that every image underimages/course-about/and theno_course_image.pngfallback return 200. Checked the Due Soon logic against a real NODE201 assignment: in progress, due in 19 days, so no badge. The ship gate passes.Screenshots / Recordings
Kindly check this card https://app.clickup.com/t/9016295640/PROJ-3515 (I'm unable to attach the demo here - 10mb limit)
Checklist
Notes for Reviewers
This is a theme-only PR against
release: no backend, OpenLMS parent or MFE changes.course_assignmentsis optional; without it the page shows placeholders instead of provider, duration and due-date data. Course Outline, Related Courses (disabled CTAs), the rating and the "EASY" / "UI DESIGN" tags are intentional mocks until the backing APIs exist. Google Sans Flex comes fromfonts.googleapis.com. After pulling, runjust themeto see the changes locally.