From 01365d080ea2c49c16810928d7dc24c9c2c0e1d3 Mon Sep 17 00:00:00 2001
From: Muhammad Anas <88967643+Anas12091101@users.noreply.github.com>
Date: Fri, 11 Apr 2025 22:29:41 +0500
Subject: [PATCH] feat: replace StudioFooter with StudioFooterSlot (#1729)
---
package-lock.json | 15 ++++++
package.json | 1 +
src/CourseAuthoringPage.jsx | 4 +-
src/accessibility-page/AccessibilityPage.jsx | 4 +-
src/course-rerun/index.jsx | 5 +-
.../LibraryAuthoringPage.tsx | 4 +-
.../collections/LibraryCollectionPage.tsx | 4 +-
.../create-library/CreateLibrary.tsx | 4 +-
src/plugin-slots/README.md | 3 ++
src/plugin-slots/StudioFooterSlot/README.md | 50 ++++++++++++++++++
.../StudioFooterSlot/images/custom_footer.png | Bin 0 -> 6395 bytes
.../images/default_studio_footer.png | Bin 0 -> 81173 bytes
src/studio-home/StudioHome.tsx | 4 +-
src/taxonomy/TaxonomyLayout.tsx | 4 +-
14 files changed, 86 insertions(+), 16 deletions(-)
create mode 100644 src/plugin-slots/StudioFooterSlot/README.md
create mode 100644 src/plugin-slots/StudioFooterSlot/images/custom_footer.png
create mode 100644 src/plugin-slots/StudioFooterSlot/images/default_studio_footer.png
diff --git a/package-lock.json b/package-lock.json
index 18e9afbb0..847894bbe 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -37,6 +37,7 @@
"@openedx-plugins/course-app-xpert_unit_summary": "file:plugins/course-apps/xpert_unit_summary",
"@openedx/frontend-build": "^14.3.3",
"@openedx/frontend-plugin-framework": "^1.6.0",
+ "@openedx/frontend-slot-footer": "^1.2.0",
"@openedx/paragon": "^22.16.0",
"@redux-devtools/extension": "^3.3.0",
"@reduxjs/toolkit": "1.9.7",
@@ -4241,6 +4242,20 @@
"@babel/runtime": "^7.9.2"
}
},
+ "node_modules/@openedx/frontend-slot-footer": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@openedx/frontend-slot-footer/-/frontend-slot-footer-1.2.0.tgz",
+ "integrity": "sha512-bJuqgdiAlPRj1QuUOJWtNqGTCTcdsk4vHeOM3jRkxtWycq+j1JpGnnZEWAmjoRv9dDKr39vt2buNrmvj0sCTbA==",
+ "license": "AGPL-3.0",
+ "dependencies": {
+ "@openedx/frontend-plugin-framework": "^1.5.0"
+ },
+ "peerDependencies": {
+ "@edx/frontend-component-footer": "*",
+ "react": "^17.0.0 || ^18.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/@openedx/paragon": {
"version": "22.17.0",
"resolved": "https://registry.npmjs.org/@openedx/paragon/-/paragon-22.17.0.tgz",
diff --git a/package.json b/package.json
index 1043e4711..785df3bc4 100644
--- a/package.json
+++ b/package.json
@@ -60,6 +60,7 @@
"@openedx-plugins/course-app-wiki": "file:plugins/course-apps/wiki",
"@openedx-plugins/course-app-xpert_unit_summary": "file:plugins/course-apps/xpert_unit_summary",
"@openedx/frontend-build": "^14.3.3",
+ "@openedx/frontend-slot-footer": "^1.2.0",
"@openedx/frontend-plugin-framework": "^1.6.0",
"@openedx/paragon": "^22.16.0",
"@redux-devtools/extension": "^3.3.0",
diff --git a/src/CourseAuthoringPage.jsx b/src/CourseAuthoringPage.jsx
index e187522c0..9a594ff6c 100644
--- a/src/CourseAuthoringPage.jsx
+++ b/src/CourseAuthoringPage.jsx
@@ -5,7 +5,7 @@ import { useDispatch, useSelector } from 'react-redux';
import {
useLocation,
} from 'react-router-dom';
-import { StudioFooter } from '@edx/frontend-component-footer';
+import { StudioFooterSlot } from '@openedx/frontend-slot-footer';
import Header from './header';
import { fetchCourseDetail, fetchWaffleFlags } from './data/thunks';
import { useModel } from './generic/model-store';
@@ -66,7 +66,7 @@ const CourseAuthoringPage = ({ courseId, children }) => {
)
)}
{children}
- {!inProgress && !isEditor && }
+ {!inProgress && !isEditor && }
);
};
diff --git a/src/accessibility-page/AccessibilityPage.jsx b/src/accessibility-page/AccessibilityPage.jsx
index d3dd1c99a..d7cc8959f 100644
--- a/src/accessibility-page/AccessibilityPage.jsx
+++ b/src/accessibility-page/AccessibilityPage.jsx
@@ -2,7 +2,7 @@ import React from 'react';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Helmet } from 'react-helmet';
import { Container } from '@openedx/paragon';
-import { StudioFooter } from '@edx/frontend-component-footer';
+import { StudioFooterSlot } from '@openedx/frontend-slot-footer';
import Header from '../header';
import messages from './messages';
@@ -29,7 +29,7 @@ const AccessibilityPage = ({
-
+
>
);
};
diff --git a/src/course-rerun/index.jsx b/src/course-rerun/index.jsx
index 1bfeed4f9..425d8163c 100644
--- a/src/course-rerun/index.jsx
+++ b/src/course-rerun/index.jsx
@@ -7,7 +7,8 @@ import {
ActionRow,
Button,
} from '@openedx/paragon';
-import { StudioFooter } from '@edx/frontend-component-footer';
+import { StudioFooterSlot } from '@openedx/frontend-slot-footer';
+
import { useNavigate, useParams } from 'react-router-dom';
import Header from '../header';
@@ -88,7 +89,7 @@ const CourseRerun = () => {
isQueryPending={savingStatus === RequestStatus.PENDING}
/>
-
+
>
);
};
diff --git a/src/library-authoring/LibraryAuthoringPage.tsx b/src/library-authoring/LibraryAuthoringPage.tsx
index 7871fd99b..10741d118 100644
--- a/src/library-authoring/LibraryAuthoringPage.tsx
+++ b/src/library-authoring/LibraryAuthoringPage.tsx
@@ -1,7 +1,7 @@
import { useCallback, useEffect, useState } from 'react';
import { Helmet } from 'react-helmet';
import classNames from 'classnames';
-import { StudioFooter } from '@edx/frontend-component-footer';
+import { StudioFooterSlot } from '@openedx/frontend-slot-footer';
import { useIntl } from '@edx/frontend-platform/i18n';
import {
ActionRow,
@@ -286,7 +286,7 @@ const LibraryAuthoringPage = ({ returnToLibrarySelection }: LibraryAuthoringPage
- {!componentPickerMode && }
+ {!componentPickerMode && }
{!!sidebarComponentInfo?.type && (
diff --git a/src/library-authoring/collections/LibraryCollectionPage.tsx b/src/library-authoring/collections/LibraryCollectionPage.tsx
index 306a64ab5..4bff6751a 100644
--- a/src/library-authoring/collections/LibraryCollectionPage.tsx
+++ b/src/library-authoring/collections/LibraryCollectionPage.tsx
@@ -1,5 +1,5 @@
import { useEffect } from 'react';
-import { StudioFooter } from '@edx/frontend-component-footer';
+import { StudioFooterSlot } from '@openedx/frontend-slot-footer';
import { useIntl } from '@edx/frontend-platform/i18n';
import {
ActionRow,
@@ -220,7 +220,7 @@ const LibraryCollectionPage = () => {
- {!componentPickerMode && }
+ {!componentPickerMode && }
{!!sidebarComponentInfo?.type && (
diff --git a/src/library-authoring/create-library/CreateLibrary.tsx b/src/library-authoring/create-library/CreateLibrary.tsx
index 7939a2b4f..009069430 100644
--- a/src/library-authoring/create-library/CreateLibrary.tsx
+++ b/src/library-authoring/create-library/CreateLibrary.tsx
@@ -1,4 +1,4 @@
-import { StudioFooter } from '@edx/frontend-component-footer';
+import { StudioFooterSlot } from '@openedx/frontend-slot-footer';
import { useIntl } from '@edx/frontend-platform/i18n';
import {
Container,
@@ -162,7 +162,7 @@ const CreateLibrary = () => {
{isError && (
)}
-
+
>
);
};
diff --git a/src/plugin-slots/README.md b/src/plugin-slots/README.md
index a7a3c3c21..c017435bd 100644
--- a/src/plugin-slots/README.md
+++ b/src/plugin-slots/README.md
@@ -9,3 +9,6 @@
## Course Unit page
* [`course_unit_header_actions_slot`](./CourseUnitHeaderActionsSlot/)
+
+## Footer Slot
+* [`studio_footer_slot`](./StudioFooterSlot/)
diff --git a/src/plugin-slots/StudioFooterSlot/README.md b/src/plugin-slots/StudioFooterSlot/README.md
new file mode 100644
index 000000000..f45d46947
--- /dev/null
+++ b/src/plugin-slots/StudioFooterSlot/README.md
@@ -0,0 +1,50 @@
+# Studio Footer Slot
+
+### Slot ID: `studio_footer_slot`
+
+## Description
+
+This slot is used to replace/modify/hide the footer.
+
+The implementation of the `StudioFooterSlot` component lives in [the `frontend-slot-footer` repository](https://github.com/openedx/frontend-slot-footer/).
+
+## Example
+
+The following `env.config.jsx` will replace the default footer.
+
+
+
+with a simple custom footer
+
+
+
+```jsx
+import { DIRECT_PLUGIN, PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework';
+
+const config = {
+ pluginSlots: {
+ studio_footer_slot: {
+ plugins: [
+ {
+ // Hide the default footer
+ op: PLUGIN_OPERATIONS.Hide,
+ widgetId: 'default_contents',
+ },
+ {
+ // Insert a custom footer
+ op: PLUGIN_OPERATIONS.Insert,
+ widget: {
+ id: 'custom_footer',
+ type: DIRECT_PLUGIN,
+ RenderWidget: () => (
+
🦶
+ ),
+ },
+ },
+ ]
+ }
+ },
+}
+
+export default config;
+```
\ No newline at end of file
diff --git a/src/plugin-slots/StudioFooterSlot/images/custom_footer.png b/src/plugin-slots/StudioFooterSlot/images/custom_footer.png
new file mode 100644
index 0000000000000000000000000000000000000000..ccae66ecd762ac2ef70b1a3171a41ae58fbbd7ab
GIT binary patch
literal 6395
zcmeHLc~BE+77t#aB8-l!gQCQ6$w=-%NF>}>2muTTs3
``u``-J#_kQoFbdI|^
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
literal 0
HcmV?d00001
diff --git a/src/plugin-slots/StudioFooterSlot/images/default_studio_footer.png b/src/plugin-slots/StudioFooterSlot/images/default_studio_footer.png
new file mode 100644
index 0000000000000000000000000000000000000000..d7b71698a80ea78552eb177b115fff28dbf63552
GIT binary patch
literal 81173
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