From f662654c7692086bba8f6eada37375c83362328e Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Fri, 3 May 2024 15:06:16 -0400 Subject: [PATCH] feat!: organize plugin slots as components, add footer slot BREAKING CHANGE: slot ids have been changed for consistency * `sequence_container_plugin` -> `sequence_container_slot` * `unit_title_plugin` -> `unit_title_slot` --- README.rst | 6 +++ src/courseware/course/sequence/Sequence.jsx | 10 +--- .../Unit/__snapshots__/index.test.jsx.snap | 11 ++-- src/courseware/course/sequence/Unit/index.jsx | 10 +--- src/generic/CourseAccessErrorPage.jsx | 6 +-- src/plugin-slots/FooterSlot/README.md | 48 ++++++++++++++++++ .../FooterSlot/images/custom_footer.png | Bin 0 -> 5801 bytes .../FooterSlot/images/default_footer.png | Bin 0 -> 6289 bytes src/plugin-slots/FooterSlot/index.jsx | 10 ++++ src/plugin-slots/README.md | 5 ++ .../SequenceContainerSlot/README.md | 45 ++++++++++++++++ .../images/post_sequence_container.png | Bin 0 -> 40762 bytes .../SequenceContainerSlot/index.jsx | 23 +++++++++ src/plugin-slots/UnitTitleSlot/README.md | 45 ++++++++++++++++ .../UnitTitleSlot/images/post_unit_title.png | Bin 0 -> 48624 bytes src/plugin-slots/UnitTitleSlot/index.jsx | 19 +++++++ src/tab-page/TabPage.jsx | 4 +- 17 files changed, 213 insertions(+), 29 deletions(-) create mode 100644 src/plugin-slots/FooterSlot/README.md create mode 100644 src/plugin-slots/FooterSlot/images/custom_footer.png create mode 100644 src/plugin-slots/FooterSlot/images/default_footer.png create mode 100644 src/plugin-slots/FooterSlot/index.jsx create mode 100644 src/plugin-slots/README.md create mode 100644 src/plugin-slots/SequenceContainerSlot/README.md create mode 100644 src/plugin-slots/SequenceContainerSlot/images/post_sequence_container.png create mode 100644 src/plugin-slots/SequenceContainerSlot/index.jsx create mode 100644 src/plugin-slots/UnitTitleSlot/README.md create mode 100644 src/plugin-slots/UnitTitleSlot/images/post_unit_title.png create mode 100644 src/plugin-slots/UnitTitleSlot/index.jsx diff --git a/README.rst b/README.rst index 6357e55302..33e1fd9762 100644 --- a/README.rst +++ b/README.rst @@ -100,6 +100,12 @@ The Learning MFE is similar to all the other Open edX MFEs. Read the Open edX Developer Guide's section on `MFE applications `_. +Plugins +======= +This MFE can be customized using `Frontend Plugin Framework `_. + +The parts of this MFE that can be customized in that manner are documented `here `_. + Environment Variables ====================== diff --git a/src/courseware/course/sequence/Sequence.jsx b/src/courseware/course/sequence/Sequence.jsx index d847c85656..7fe7b751c2 100644 --- a/src/courseware/course/sequence/Sequence.jsx +++ b/src/courseware/course/sequence/Sequence.jsx @@ -9,11 +9,11 @@ import { import { useIntl } from '@edx/frontend-platform/i18n'; import { useSelector } from 'react-redux'; import SequenceExamWrapper from '@edx/frontend-lib-special-exams'; -import { PluginSlot } from '@openedx/frontend-plugin-framework'; import PageLoading from '@src/generic/PageLoading'; import { useModel } from '@src/generic/model-store'; import { useSequenceBannerTextAlert, useSequenceEntranceExamAlert } from '@src/alerts/sequence-alerts/hooks'; +import SequenceContainerSlot from '../../../plugin-slots/SequenceContainerSlot'; import CourseLicense from '../course-license'; import Sidebar from '../sidebar/Sidebar'; @@ -196,13 +196,7 @@ const Sequence = ({ {isNewDiscussionSidebarViewEnabled ? : } - + ); diff --git a/src/courseware/course/sequence/Unit/__snapshots__/index.test.jsx.snap b/src/courseware/course/sequence/Unit/__snapshots__/index.test.jsx.snap index 2419acb694..2249c87122 100644 --- a/src/courseware/course/sequence/Unit/__snapshots__/index.test.jsx.snap +++ b/src/courseware/course/sequence/Unit/__snapshots__/index.test.jsx.snap @@ -28,14 +28,9 @@ exports[`Unit component output snapshot: not bookmarked, do not show content 1`] > unit-title -

{unit.title}

- +

{formatMessage(messages.headerPlaceholder)}

{ -