Frontend¶
frontend/ is a React 18 + TypeScript app built with Vite (base: /dgxmm/, router basename
/dgxmm). The Docker image builds it and serves it from /app/static.
- Pages (
src/pages/): Login, Change password, Dashboard, Deployments, Deployment detail, Deploy wizard, Models (on disk), Catalog, Downloads, Planner, Processes, LiteLLM, Decision model, Users, Audit log. Deploy wizard, Catalog, Planner, Processes, LiteLLM, Decision model, Deployment detail and Audit are lazy-loaded. - Design system (
src/components/ui/): shadcn/ui components on Radix primitives, styled with Tailwind CSS tokens. There is a light theme and a dark theme. Status is always shown as icon plus text, and Inter and JetBrains Mono fonts are self-hosted. App building blocks (shell, sidebar, data tables, memory bar, plan chooser, command palette) live insrc/components/app/. - Data: TanStack Query for every API call (
src/api.tsadds the CSRF header).src/stream.tsopens oneEventSourceon/dgxmm/api/stream:budgetevents update the host data in place,metricsevents are appended to the live chart series, anddeployment,downloadandinventoryevents refresh the matching queries;diagnosisrefreshes a deployment's diagnosis and the admin-onlydecidertopic carries image build progress. - Charts: Recharts with a fixed palette that has light and dark variants.