diff --git a/site.config.build.tsx b/site.config.build.tsx index b51676b..a8f6e2e 100644 --- a/site.config.build.tsx +++ b/site.config.build.tsx @@ -1,6 +1,7 @@ import { EnvironmentTypes, SiteConfig, footerApp, headerApp, shellApp } from '@openedx/frontend-base'; import { authnApp } from '@openedx/frontend-app-authn'; import { learnerDashboardApp } from '@openedx/frontend-app-learner-dashboard'; +import homeApp from './src/homeApp'; import './src/site.scss'; @@ -19,6 +20,7 @@ const siteConfig: SiteConfig = { footerApp, authnApp, learnerDashboardApp, + homeApp, ], externalRoutes: [ { diff --git a/site.config.dev.tsx b/site.config.dev.tsx index e048562..2d59b15 100644 --- a/site.config.dev.tsx +++ b/site.config.dev.tsx @@ -1,6 +1,7 @@ import { EnvironmentTypes, SiteConfig, footerApp, headerApp, shellApp } from '@openedx/frontend-base'; import { authnApp } from '@openedx/frontend-app-authn'; import { learnerDashboardApp } from '@openedx/frontend-app-learner-dashboard'; +import homeApp from './src/homeApp'; import './src/site.scss'; @@ -19,6 +20,7 @@ const siteConfig: SiteConfig = { footerApp, authnApp, learnerDashboardApp, + homeApp, ], externalRoutes: [ { diff --git a/src/homeApp.ts b/src/homeApp.ts new file mode 100644 index 0000000..2b6eeba --- /dev/null +++ b/src/homeApp.ts @@ -0,0 +1,18 @@ +import { App, getUrlByRouteRole } from '@openedx/frontend-base'; +import { redirect } from 'react-router'; + +const homeApp: App = { + appId: 'home', + routes: [{ + path: '/', + loader: () => { + const dashboardUrl = getUrlByRouteRole('org.openedx.frontend.role.dashboard'); + if (dashboardUrl) { + return redirect(dashboardUrl); + } + throw new Response('Not Found', { status: 404 }); + }, + }], +}; + +export default homeApp;