Skip to content

Commit

Permalink
Allow overriding core frontend plugins
Browse files Browse the repository at this point in the history
Signed-off-by: David Festal <[email protected]>
  • Loading branch information
davidfestal committed May 13, 2024
1 parent f4a8802 commit 877a5bb
Showing 1 changed file with 69 additions and 34 deletions.
103 changes: 69 additions & 34 deletions packages/app/src/components/AppBase/AppBase.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,50 +24,85 @@ import { SearchPage } from '../search/SearchPage';
const AppBase = () => {
const { AppProvider, AppRouter, dynamicRoutes, entityTabOverrides } =
useContext(DynamicRootContext);

const ifNotDynamic = (path: string, route: React.ReactElement) =>
dynamicRoutes.filter(({ path: p }) => p === path).length === 0 && route;

return (
<AppProvider>
<AlertDisplay />
<OAuthRequestDialog />
<AppRouter>
<Root>
<FlatRoutes>
{dynamicRoutes.filter(({ path }) => path === '/').length === 0 && (
{ifNotDynamic(
'/',
<Route path="/" element={<HomepageCompositionRoot />}>
<HomePage />
</Route>
</Route>,
)}
{ifNotDynamic(
'/catalog',
<Route
path="/catalog"
element={<CatalogIndexPage pagination />}
/>,
)}
{ifNotDynamic(
'//catalog/:namespace/:kind/:name',
<Route
path="/catalog/:namespace/:kind/:name"
element={<CatalogEntityPage />}
>
{entityPage(entityTabOverrides)}
</Route>,
)}
{ifNotDynamic(
'/create',
<Route
path="/create"
element={
<ScaffolderPage
headerOptions={{ title: 'Software Templates' }}
/>
}
/>,
)}
{ifNotDynamic(
'/api-docs',
<Route path="/api-docs" element={<ApiExplorerPage />} />,
)}
{ifNotDynamic(
'/catalog-import',
<Route
path="/catalog-import"
element={
<RequirePermission permission={catalogEntityCreatePermission}>
<CatalogImportPage />
</RequirePermission>
}
/>,
)}
{ifNotDynamic(
'/search',
<Route path="/search" element={<BackstageSearchPage />}>
<SearchPage />
</Route>,
)}
{ifNotDynamic(
'/settings',
<Route path="/settings" element={<UserSettingsPage />}>
{settingsPage}
</Route>,
)}
{ifNotDynamic(
'/catalog-graph',
<Route path="/catalog-graph" element={<CatalogGraphPage />} />,
)}
{ifNotDynamic(
'/learning-paths',
<Route path="/learning-paths" element={<LearningPaths />} />,
)}
<Route path="/catalog" element={<CatalogIndexPage pagination />} />
<Route
path="/catalog/:namespace/:kind/:name"
element={<CatalogEntityPage />}
>
{entityPage(entityTabOverrides)}
</Route>
<Route
path="/create"
element={
<ScaffolderPage
headerOptions={{ title: 'Software Templates' }}
/>
}
/>
<Route path="/api-docs" element={<ApiExplorerPage />} />
<Route
path="/catalog-import"
element={
<RequirePermission permission={catalogEntityCreatePermission}>
<CatalogImportPage />
</RequirePermission>
}
/>
<Route path="/search" element={<BackstageSearchPage />}>
<SearchPage />
</Route>
<Route path="/settings" element={<UserSettingsPage />}>
{settingsPage}
</Route>
<Route path="/catalog-graph" element={<CatalogGraphPage />} />
<Route path="/learning-paths" element={<LearningPaths />} />
<Route path="/admin" element={<AdminPage />} />
{dynamicRoutes
.filter(({ path }) => path.startsWith('/admin'))
Expand Down

0 comments on commit 877a5bb

Please sign in to comment.