} />
-
+
{
(contentPermissionsPages.length > 0 || hasAdditionalCoursePlugin)
&& (
@@ -98,7 +100,7 @@ const PagesAndResources = ({ courseId }) => {
{intl.formatMessage(messages.contentPermissions)}
-
+
>
)
}
diff --git a/src/pages-and-resources/pages/PageGrid.jsx b/src/pages-and-resources/pages/PageGrid.jsx
index d86e4b50a..e94db823e 100644
--- a/src/pages-and-resources/pages/PageGrid.jsx
+++ b/src/pages-and-resources/pages/PageGrid.jsx
@@ -1,10 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
import { CardGrid } from '@openedx/paragon';
-import { PluginSlot } from '@openedx/frontend-plugin-framework';
import PageCard, { CoursePageShape } from './PageCard';
-const PageGrid = ({ pages, pluginSlotId, courseId }) => (
+const PageGrid = ({ pages, pluginSlotComponent, courseId }) => (
(
{pages.map((page) => (
))}
- {pluginSlotId && }
+ {pluginSlotComponent}
);
PageGrid.defaultProps = {
- pluginSlotId: null,
+ pluginSlotComponent: null,
courseId: null,
};
PageGrid.propTypes = {
pages: PropTypes.arrayOf(CoursePageShape.isRequired).isRequired,
- pluginSlotId: PropTypes.string,
+ pluginSlotComponent: PropTypes.element,
courseId: PropTypes.string,
};
diff --git a/src/plugin-slots/AdditionalCourseContentPluginSlot/README.md b/src/plugin-slots/AdditionalCourseContentPluginSlot/README.md
new file mode 100644
index 000000000..e467dc506
--- /dev/null
+++ b/src/plugin-slots/AdditionalCourseContentPluginSlot/README.md
@@ -0,0 +1,6 @@
+# AdditionalCourseContentPluginSlot
+
+### Slot ID: `org.openedx.frontend.authoring.additional_course_content_plugin.v1`
+
+### Slot ID Aliases
+* `additional_course_content_plugin`
diff --git a/src/plugin-slots/AdditionalCourseContentPluginSlot/__snapshots__/index.test.jsx.snap b/src/plugin-slots/AdditionalCourseContentPluginSlot/__snapshots__/index.test.jsx.snap
new file mode 100644
index 000000000..2542e05ea
--- /dev/null
+++ b/src/plugin-slots/AdditionalCourseContentPluginSlot/__snapshots__/index.test.jsx.snap
@@ -0,0 +1,12 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`AdditionalCourseContentPluginSlot renders 1`] = `
+
+`;
diff --git a/src/plugin-slots/AdditionalCourseContentPluginSlot/index.test.jsx b/src/plugin-slots/AdditionalCourseContentPluginSlot/index.test.jsx
new file mode 100644
index 000000000..a4e0cb05d
--- /dev/null
+++ b/src/plugin-slots/AdditionalCourseContentPluginSlot/index.test.jsx
@@ -0,0 +1,15 @@
+import { shallow } from '@edx/react-unit-test-utils';
+import { AdditionalCourseContentPluginSlot } from '.';
+
+jest.mock('@openedx/frontend-plugin-framework', () => ({
+ PluginSlot: 'PluginSlot',
+}));
+
+describe('AdditionalCourseContentPluginSlot', () => {
+ beforeEach(() => jest.resetAllMocks());
+
+ it('renders', () => {
+ const wrapper = shallow();
+ expect(wrapper.snapshot).toMatchSnapshot();
+ });
+});
diff --git a/src/plugin-slots/AdditionalCourseContentPluginSlot/index.tsx b/src/plugin-slots/AdditionalCourseContentPluginSlot/index.tsx
new file mode 100644
index 000000000..74a6f55b5
--- /dev/null
+++ b/src/plugin-slots/AdditionalCourseContentPluginSlot/index.tsx
@@ -0,0 +1,9 @@
+import { PluginSlot } from '@openedx/frontend-plugin-framework/dist';
+import React from 'react';
+
+export const AdditionalCourseContentPluginSlot = () => (
+
+);
diff --git a/src/plugin-slots/AdditionalCoursePluginSlot/README.md b/src/plugin-slots/AdditionalCoursePluginSlot/README.md
new file mode 100644
index 000000000..39bf9e8fb
--- /dev/null
+++ b/src/plugin-slots/AdditionalCoursePluginSlot/README.md
@@ -0,0 +1,6 @@
+# AdditionalCoursePluginSlot
+
+### Slot ID: `org.openedx.frontend.authoring.additional_course_plugin.v1`
+
+### Slot ID Aliases
+* `additional_course_plugin`
diff --git a/src/plugin-slots/AdditionalCoursePluginSlot/__snapshots__/index.test.jsx.snap b/src/plugin-slots/AdditionalCoursePluginSlot/__snapshots__/index.test.jsx.snap
new file mode 100644
index 000000000..0a5dafcae
--- /dev/null
+++ b/src/plugin-slots/AdditionalCoursePluginSlot/__snapshots__/index.test.jsx.snap
@@ -0,0 +1,12 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`AdditionalCoursePluginSlot renders 1`] = `
+
+`;
diff --git a/src/plugin-slots/AdditionalCoursePluginSlot/index.test.jsx b/src/plugin-slots/AdditionalCoursePluginSlot/index.test.jsx
new file mode 100644
index 000000000..0f90fb497
--- /dev/null
+++ b/src/plugin-slots/AdditionalCoursePluginSlot/index.test.jsx
@@ -0,0 +1,15 @@
+import { shallow } from '@edx/react-unit-test-utils';
+import { AdditionalCoursePluginSlot } from '.';
+
+jest.mock('@openedx/frontend-plugin-framework', () => ({
+ PluginSlot: 'PluginSlot',
+}));
+
+describe('AdditionalCoursePluginSlot', () => {
+ beforeEach(() => jest.resetAllMocks());
+
+ it('renders', () => {
+ const wrapper = shallow();
+ expect(wrapper.snapshot).toMatchSnapshot();
+ });
+});
diff --git a/src/plugin-slots/AdditionalCoursePluginSlot/index.tsx b/src/plugin-slots/AdditionalCoursePluginSlot/index.tsx
new file mode 100644
index 000000000..a1cdfdc41
--- /dev/null
+++ b/src/plugin-slots/AdditionalCoursePluginSlot/index.tsx
@@ -0,0 +1,9 @@
+import { PluginSlot } from '@openedx/frontend-plugin-framework/dist';
+import React from 'react';
+
+export const AdditionalCoursePluginSlot = () => (
+
+);
diff --git a/src/plugin-slots/AdditionalTranslationsComponentSlot/README.md b/src/plugin-slots/AdditionalTranslationsComponentSlot/README.md
new file mode 100644
index 000000000..68d4f27e7
--- /dev/null
+++ b/src/plugin-slots/AdditionalTranslationsComponentSlot/README.md
@@ -0,0 +1,15 @@
+# AdditionalTranslationsComponentSlot
+
+### Slot ID: `org.openedx.frontend.authoring.video_transcript_additional_translations_component.v1`
+
+### Slot ID Aliases
+* `additonal_translations_component_slot` (original misspelling)
+* `additional_translations_component_slot`
+
+### Plugin Props:
+* `setIsAiTranslations` - Function (React SetState)
+* `closeTranscriptSettings` - Function (Paragon useToggle)
+* `courseId` - String
+* `additionalProps` - Object
+ * `transcriptType` - String
+ * `isAiTranslationsEnabled` - Boolean
diff --git a/src/plugin-slots/AdditionalTranslationsComponentSlot/index.tsx b/src/plugin-slots/AdditionalTranslationsComponentSlot/index.tsx
new file mode 100644
index 000000000..b1289e1e1
--- /dev/null
+++ b/src/plugin-slots/AdditionalTranslationsComponentSlot/index.tsx
@@ -0,0 +1,32 @@
+import { PluginSlot } from '@openedx/frontend-plugin-framework/dist';
+import React from 'react';
+
+export const AdditionalTranslationsComponentSlot = ({
+ setIsAiTranslations,
+ closeTranscriptSettings,
+ courseId,
+ transcriptType,
+ isAiTranslationsEnabled,
+}: AdditionalTranslationsComponentSlotProps) => (
+
+);
+
+interface AdditionalTranslationsComponentSlotProps {
+ setIsAiTranslations: React.Dispatch>;
+ closeTranscriptSettings: () => void;
+ courseId: string;
+ transcriptType: string;
+ isAiTranslationsEnabled: boolean;
+}
diff --git a/src/plugin-slots/CourseAuthoringOutlineSidebarSlot/README.md b/src/plugin-slots/CourseAuthoringOutlineSidebarSlot/README.md
index 97f0d3225..ee11b7975 100644
--- a/src/plugin-slots/CourseAuthoringOutlineSidebarSlot/README.md
+++ b/src/plugin-slots/CourseAuthoringOutlineSidebarSlot/README.md
@@ -1,6 +1,9 @@
# CourseAuthoringOutlineSidebarSlot
-### Slot ID: `course_authoring_outline_sidebar_slot`
+### Slot ID: `org.openedx.frontend.authoring.course_outline_sidebar.v1`
+
+### Slot ID Aliases
+* `course_authoring_outline_sidebar_slot`
### Plugin Props:
@@ -24,7 +27,7 @@ import { PLUGIN_OPERATIONS } from '@openedx/frontend-plugin-framework';
const config = {
pluginSlots: {
- course_authoring_outline_sidebar_slot: {
+ 'org.openedx.frontend.authoring.course_outline_sidebar.v1': {
keepDefault: true,
plugins: [
{
diff --git a/src/plugin-slots/CourseAuthoringOutlineSidebarSlot/index.tsx b/src/plugin-slots/CourseAuthoringOutlineSidebarSlot/index.tsx
index 5485e69fb..06682dbec 100644
--- a/src/plugin-slots/CourseAuthoringOutlineSidebarSlot/index.tsx
+++ b/src/plugin-slots/CourseAuthoringOutlineSidebarSlot/index.tsx
@@ -8,7 +8,8 @@ export const CourseAuthoringOutlineSidebarSlot = ({
sections,
}: CourseAuthoringOutlineSidebarSlotProps) => (