diff --git a/src/generic/SEBCourseAccessErrorPage.jsx b/src/generic/SEBCourseAccessErrorPage.jsx
new file mode 100644
index 0000000000..6ea5920466
--- /dev/null
+++ b/src/generic/SEBCourseAccessErrorPage.jsx
@@ -0,0 +1,30 @@
+import React, { useEffect } from 'react';
+import { LearningHeader as Header } from '@edx/frontend-component-header';
+import Footer from '@edx/frontend-component-footer';
+import { useParams } from 'react-router-dom';
+import { useDispatch } from 'react-redux';
+import { injectIntl } from '@edx/frontend-platform/i18n';
+import { Alert } from '@openedx/paragon';
+import { WarningFilled } from '@openedx/paragon/icons';
+import { FormattedMessage } from '@edx/frontend-platform/i18n';
+
+const SEBCourseAccessErrorPage = ({ intl }) => {
+
+ return (
+ <>
+
+
+
+
+
+
+
+ >
+ );
+}
+
+export default injectIntl(SEBCourseAccessErrorPage);
diff --git a/src/index.jsx b/src/index.jsx
index 7f2af36f58..12f630c34e 100755
--- a/src/index.jsx
+++ b/src/index.jsx
@@ -37,6 +37,7 @@ import LiveTab from './course-home/live-tab/LiveTab';
import CourseAccessErrorPage from './generic/CourseAccessErrorPage';
import DecodePageRoute from './decode-page-route';
import { DECODE_ROUTES, ROUTES } from './constants';
+import SEBCourseAccessErrorPage from './generic/SEBCourseAccessErrorPage';
subscribe(APP_READY, () => {
ReactDOM.render(
@@ -50,6 +51,7 @@ subscribe(APP_READY, () => {
} />
} />
+ } />
}
diff --git a/src/shared/access.js b/src/shared/access.js
index 49cd30e4b4..c41c7ae76d 100644
--- a/src/shared/access.js
+++ b/src/shared/access.js
@@ -7,6 +7,9 @@ import { getLocale } from '@edx/frontend-platform/i18n';
export function getAccessDeniedRedirectUrl(courseId, activeTabSlug, courseAccess, start) {
let url = null;
switch (courseAccess.errorCode) {
+ case 'seb_access_denied':
+ url = `/seb-openedx/courseware/access-denied/${courseId}`;
+ break;
case 'audit_expired':
url = `/redirect/dashboard?access_response_error=${courseAccess.additionalContextUserMessage}`;
break;