Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
934 changes: 662 additions & 272 deletions data/schema.graphql

Large diffs are not rendered by default.

112 changes: 85 additions & 27 deletions react/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,6 @@ const FolderExplorerOpener = React.lazy(
const FolderInvitationResponseModalOpener = React.lazy(
() => import('./components/FolderInvitationResponseModalOpener'),
);
const FileUploadManager = React.lazy(
() => import('./components/FileUploadManager'),
);
const ServiceLauncherCreatePage = React.lazy(
() => import('./components/ServiceLauncherPageContent'),
);
Expand Down Expand Up @@ -90,6 +87,16 @@ const ReservoirArtifactDetailPage = React.lazy(
);

const SchedulerPage = React.lazy(() => import('./pages/SchedulerPage'));
// Deployment pages
const DeploymentListPage = React.lazy(
() => import('./pages/DeploymentListPage'),
);
const DeploymentDetailPage = React.lazy(
() => import('./pages/DeploymentDetailPage'),
);
const DeploymentLauncherPage = React.lazy(
() => import('./pages/DeploymentLauncherPage'),
);

interface CustomHandle {
title?: string;
Expand All @@ -104,36 +111,31 @@ const router = createBrowserRouter([
path: '/interactive-login',
errorElement: <ErrorView />,
element: (
<DefaultProvidersForReactRoot>
<QueryParamProvider adapter={ReactRouter6Adapter}>
<InteractiveLoginPage />
</QueryParamProvider>
</DefaultProvidersForReactRoot>
<QueryParamProvider adapter={ReactRouter6Adapter}>
<InteractiveLoginPage />
</QueryParamProvider>
),
},
{
path: '/',
errorElement: <ErrorView />,
element: (
<DefaultProvidersForReactRoot>
<QueryParamProvider
adapter={ReactRouter6Adapter}
options={
{
// searchStringToObject: queryString.parse,
// objectToSearchString: queryString.stringify,
}
<QueryParamProvider
adapter={ReactRouter6Adapter}
options={
{
// searchStringToObject: queryString.parse,
// objectToSearchString: queryString.stringify,
}
>
<MainLayout />
<RoutingEventHandler />
<Suspense>
<FolderExplorerOpener />
<FolderInvitationResponseModalOpener />
<FileUploadManager />
</Suspense>
</QueryParamProvider>
</DefaultProvidersForReactRoot>
}
>
<MainLayout />
<RoutingEventHandler />
<Suspense fallback={null}>
<FolderExplorerOpener />
<FolderInvitationResponseModalOpener />
</Suspense>
</QueryParamProvider>
),
children: [
{
Expand Down Expand Up @@ -312,6 +314,58 @@ const router = createBrowserRouter([
},
],
},
{
path: '/deployment',
handle: { labelKey: 'webui.menu.Deployment' },
children: [
{
path: '',
Component: () => {
const { t } = useTranslation();
useSuspendedBackendaiClient();
return (
<BAIErrorBoundary>
<Suspense
fallback={
<BAICard title={t('webui.menu.Deployment')} loading />
}
>
<DeploymentListPage />
</Suspense>
</BAIErrorBoundary>
);
},
},
{
path: '/deployment/start',
handle: { labelKey: 'deployment.launcher.CreateNewDeployment' },
element: (
<BAIErrorBoundary>
<Suspense
fallback={
<BAIFlex direction="column" style={{ maxWidth: 700 }}>
<Skeleton active />
</BAIFlex>
}
>
<DeploymentLauncherPage />
</Suspense>
</BAIErrorBoundary>
),
},
{
path: '/deployment/:deploymentId',
handle: { labelKey: 'deployment.DeploymentDetail' },
element: (
<BAIErrorBoundary>
<Suspense fallback={<Skeleton active />}>
<DeploymentDetailPage />
</Suspense>
</BAIErrorBoundary>
),
},
],
},
{
path: '/service',
handle: { labelKey: 'webui.menu.Serving' },
Expand Down Expand Up @@ -588,7 +642,11 @@ const router = createBrowserRouter([
]);

const App: FC = () => {
return <RouterProvider router={router} />;
return (
<DefaultProvidersForReactRoot>
<RouterProvider router={router} />
</DefaultProvidersForReactRoot>
);
};

export default App;
Loading