diff --git a/desktop/public/icon.png b/desktop/public/icon.png new file mode 100644 index 00000000..f54af5bd Binary files /dev/null and b/desktop/public/icon.png differ diff --git a/desktop/src/components/PageWrapper.tsx b/desktop/src/components/PageWrapper.tsx index 1777e029..fef7b0a0 100644 --- a/desktop/src/components/PageWrapper.tsx +++ b/desktop/src/components/PageWrapper.tsx @@ -4,7 +4,7 @@ export function PageWrapper({ children }: { children: React.ReactNode }) { return ( { if (hasError) { @@ -33,7 +34,7 @@ export function AppShell({ children }: AppShellProps) { return ( - + setCollapsed((c) => !c)} /> @@ -62,7 +63,7 @@ export function AppShell({ children }: AppShellProps) { {hasError.message} ) : ( -
+
{children} {isLoading && (
void; +} -export function Sidebar() { +export function Sidebar({ collapsed, onToggle }: SidebarProps) { const [location, setLocation] = useLocation(); + const { config, selectedWorkspace } = useAppContext(); + const currentWorkspaceName = selectedWorkspace || config?.currentWorkspace || "—"; + const currentNamespace = config?.currentNamespace || "—"; const navigateToWorkspaces = useCallback(() => { setLocation(`/workspaces`); @@ -39,12 +74,30 @@ export function Sidebar() { }, [setLocation]); return ( -
- - flow - - - + + + + + {collapsed ? : } + + + flow + + + + + } + active={location.startsWith("/favorites")} + variant="filled" + onClick={navigateToWorkspaces} + /> } @@ -60,45 +113,83 @@ export function Sidebar() { variant="filled" onClick={navigateToExecutables} /> + + + + {collapsed ? ( + + + + + + + + + + + + + ) : ( - } - active={location.startsWith("/logs")} - variant="filled" - onClick={navigateToLogs} - /> + - } - variant="filled" - childrenOffset={28} - > - - - - - } - active={location.startsWith("/settings")} - variant="filled" - onClick={navigateToSettings} - /> - + + + Context + + + + Workspace + {currentWorkspaceName} + + + Namespace + {currentNamespace} + + + + + + + + - -
+ + }> + Vault + + }> + Cache Store + + }> + Templates + + } + > + Logs + + + + + + + )} + + ); }