Skip to content

Commit c076370

Browse files
committed
feat: Reservoir UI draft
1 parent 010c2b2 commit c076370

File tree

10 files changed

+2018
-4
lines changed

10 files changed

+2018
-4
lines changed

react/craco.config.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ module.exports = {
2424
'../resources/**/*',
2525
],
2626
};
27-
27+
2828
// Override deprecated middleware options with setupMiddlewares
2929
const originalOnBefore = devServerConfig.onBeforeSetupMiddleware;
3030
const originalOnAfter = devServerConfig.onAfterSetupMiddleware;
31-
31+
3232
if (originalOnBefore || originalOnAfter) {
3333
delete devServerConfig.onBeforeSetupMiddleware;
3434
delete devServerConfig.onAfterSetupMiddleware;
35-
35+
3636
devServerConfig.setupMiddlewares = (middlewares, devServer) => {
3737
if (originalOnBefore) {
3838
originalOnBefore(devServer);
@@ -43,7 +43,7 @@ module.exports = {
4343
return middlewares;
4444
};
4545
}
46-
46+
4747
return devServerConfig;
4848
},
4949
babel: {

react/src/App.tsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ const SessionDetailAndContainerLogOpenerLegacy = React.lazy(
8484
const ChatPage = React.lazy(() => import('./pages/ChatPage'));
8585

8686
const AIAgentPage = React.lazy(() => import('./pages/AIAgentPage'));
87+
const ReservoirPage = React.lazy(() => import('./pages/ReservoirPage'));
8788

8889
const SchedulerPage = React.lazy(() => import('./pages/SchedulerPage'));
8990

@@ -459,6 +460,41 @@ const router = createBrowserRouter([
459460
handle: { labelKey: 'webui.menu.ResourcePolicy' },
460461
Component: ResourcePolicyPage,
461462
},
463+
{
464+
path: '/reservoir',
465+
handle: { labelKey: 'Reservoir' },
466+
children: [
467+
{
468+
path: '',
469+
Component: () => {
470+
return (
471+
<BAIErrorBoundary>
472+
<Suspense
473+
fallback={
474+
<BAIFlex direction="column" style={{ maxWidth: 700 }}>
475+
<Skeleton active />
476+
</BAIFlex>
477+
}
478+
>
479+
<ReservoirPage />
480+
</Suspense>
481+
</BAIErrorBoundary>
482+
);
483+
},
484+
},
485+
{
486+
path: '/reservoir/:artifactId',
487+
element: (
488+
<BAIErrorBoundary>
489+
<Suspense fallback={<Skeleton active />}>
490+
<ReservoirPage />
491+
</Suspense>
492+
</BAIErrorBoundary>
493+
),
494+
handle: { labelKey: 'Artifact Details' },
495+
},
496+
],
497+
},
462498
{
463499
path: '/settings',
464500
element: (

react/src/components/MainLayout/WebUISider.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ export type MenuKeys =
103103
| 'environment'
104104
| 'scheduler'
105105
| 'resource-policy'
106+
| 'reservoir'
106107
// superAdminMenu keys
107108
| 'agent'
108109
| 'settings'
@@ -285,6 +286,11 @@ const WebUISider: React.FC<WebUISiderProps> = (props) => {
285286
icon: <SolutionOutlined style={{ color: token.colorInfo }} />,
286287
key: 'resource-policy',
287288
},
289+
{
290+
label: <WebUILink to="/reservoir">Reservoir</WebUILink>,
291+
icon: <HddOutlined style={{ color: token.colorInfo }} />,
292+
key: 'reservoir',
293+
},
288294
]);
289295

290296
const superAdminMenu: MenuProps['items'] = [

0 commit comments

Comments
 (0)