Fold the brain and health screens into Home

Home is the one overview now: the brain graph flat across the top, the flow
switches, then the health sections. The /brain and /health routes and their
sidebar entries are gone.

- charts report their cursor and clicks, so hovering one filters the list
  beside it to that minute and a click pins it until Escape or Clear
- chart values round to about three significant digits, the legend mounts
  under the plot so it can wrap without leaving the card, and axis ticks
  shorten past a thousand
- the embedded brain leaves the wheel to the page rather than zooming
- number fields no longer draw their up/down spinner (NOTEPAD)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017MeiWk3Yq12n2pTvnQWYvt
This commit is contained in:
2026-08-17 00:17:14 +02:00
co-authored by Claude Fable 5
parent fe346ea7a3
commit affb0a5f8c
15 changed files with 835 additions and 592 deletions
-42
View File
@@ -21,10 +21,8 @@ import { Route as OauthAuthorizeRouteImport } from './routes/oauth.authorize'
import { Route as LayoutSettingsRouteImport } from './routes/_layout/settings'
import { Route as LayoutSecretsRouteImport } from './routes/_layout/secrets'
import { Route as LayoutModulesRouteImport } from './routes/_layout/modules'
import { Route as LayoutHealthRouteImport } from './routes/_layout/health'
import { Route as LayoutAlertsRouteImport } from './routes/_layout/alerts'
import { Route as LayoutAdminRouteImport } from './routes/_layout/admin'
import { Route as CanvasBrainRouteImport } from './routes/_canvas/brain'
import { Route as LayoutFlowsIndexRouteImport } from './routes/_layout/flows/index'
import { Route as LayoutDashboardsIndexRouteImport } from './routes/_layout/dashboards/index'
import { Route as CanvasFlowsFlowNameRouteImport } from './routes/_canvas/flows/$flowName'
@@ -88,11 +86,6 @@ const LayoutModulesRoute = LayoutModulesRouteImport.update({
path: '/modules',
getParentRoute: () => LayoutRoute,
} as any)
const LayoutHealthRoute = LayoutHealthRouteImport.update({
id: '/health',
path: '/health',
getParentRoute: () => LayoutRoute,
} as any)
const LayoutAlertsRoute = LayoutAlertsRouteImport.update({
id: '/alerts',
path: '/alerts',
@@ -103,11 +96,6 @@ const LayoutAdminRoute = LayoutAdminRouteImport.update({
path: '/admin',
getParentRoute: () => LayoutRoute,
} as any)
const CanvasBrainRoute = CanvasBrainRouteImport.update({
id: '/brain',
path: '/brain',
getParentRoute: () => CanvasRoute,
} as any)
const LayoutFlowsIndexRoute = LayoutFlowsIndexRouteImport.update({
id: '/flows/',
path: '/flows/',
@@ -135,10 +123,8 @@ export interface FileRoutesByFullPath {
'/recover-password': typeof RecoverPasswordRoute
'/reset-password': typeof ResetPasswordRoute
'/signup': typeof SignupRoute
'/brain': typeof CanvasBrainRoute
'/admin': typeof LayoutAdminRoute
'/alerts': typeof LayoutAlertsRoute
'/health': typeof LayoutHealthRoute
'/modules': typeof LayoutModulesRoute
'/secrets': typeof LayoutSecretsRoute
'/settings': typeof LayoutSettingsRoute
@@ -155,10 +141,8 @@ export interface FileRoutesByTo {
'/recover-password': typeof RecoverPasswordRoute
'/reset-password': typeof ResetPasswordRoute
'/signup': typeof SignupRoute
'/brain': typeof CanvasBrainRoute
'/admin': typeof LayoutAdminRoute
'/alerts': typeof LayoutAlertsRoute
'/health': typeof LayoutHealthRoute
'/modules': typeof LayoutModulesRoute
'/secrets': typeof LayoutSecretsRoute
'/settings': typeof LayoutSettingsRoute
@@ -177,10 +161,8 @@ export interface FileRoutesById {
'/recover-password': typeof RecoverPasswordRoute
'/reset-password': typeof ResetPasswordRoute
'/signup': typeof SignupRoute
'/_canvas/brain': typeof CanvasBrainRoute
'/_layout/admin': typeof LayoutAdminRoute
'/_layout/alerts': typeof LayoutAlertsRoute
'/_layout/health': typeof LayoutHealthRoute
'/_layout/modules': typeof LayoutModulesRoute
'/_layout/secrets': typeof LayoutSecretsRoute
'/_layout/settings': typeof LayoutSettingsRoute
@@ -200,10 +182,8 @@ export interface FileRouteTypes {
| '/recover-password'
| '/reset-password'
| '/signup'
| '/brain'
| '/admin'
| '/alerts'
| '/health'
| '/modules'
| '/secrets'
| '/settings'
@@ -220,10 +200,8 @@ export interface FileRouteTypes {
| '/recover-password'
| '/reset-password'
| '/signup'
| '/brain'
| '/admin'
| '/alerts'
| '/health'
| '/modules'
| '/secrets'
| '/settings'
@@ -241,10 +219,8 @@ export interface FileRouteTypes {
| '/recover-password'
| '/reset-password'
| '/signup'
| '/_canvas/brain'
| '/_layout/admin'
| '/_layout/alerts'
| '/_layout/health'
| '/_layout/modules'
| '/_layout/secrets'
| '/_layout/settings'
@@ -354,13 +330,6 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof LayoutModulesRouteImport
parentRoute: typeof LayoutRoute
}
'/_layout/health': {
id: '/_layout/health'
path: '/health'
fullPath: '/health'
preLoaderRoute: typeof LayoutHealthRouteImport
parentRoute: typeof LayoutRoute
}
'/_layout/alerts': {
id: '/_layout/alerts'
path: '/alerts'
@@ -375,13 +344,6 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof LayoutAdminRouteImport
parentRoute: typeof LayoutRoute
}
'/_canvas/brain': {
id: '/_canvas/brain'
path: '/brain'
fullPath: '/brain'
preLoaderRoute: typeof CanvasBrainRouteImport
parentRoute: typeof CanvasRoute
}
'/_layout/flows/': {
id: '/_layout/flows/'
path: '/flows'
@@ -414,13 +376,11 @@ declare module '@tanstack/react-router' {
}
interface CanvasRouteChildren {
CanvasBrainRoute: typeof CanvasBrainRoute
CanvasDashboardsNameRoute: typeof CanvasDashboardsNameRoute
CanvasFlowsFlowNameRoute: typeof CanvasFlowsFlowNameRoute
}
const CanvasRouteChildren: CanvasRouteChildren = {
CanvasBrainRoute: CanvasBrainRoute,
CanvasDashboardsNameRoute: CanvasDashboardsNameRoute,
CanvasFlowsFlowNameRoute: CanvasFlowsFlowNameRoute,
}
@@ -431,7 +391,6 @@ const CanvasRouteWithChildren =
interface LayoutRouteChildren {
LayoutAdminRoute: typeof LayoutAdminRoute
LayoutAlertsRoute: typeof LayoutAlertsRoute
LayoutHealthRoute: typeof LayoutHealthRoute
LayoutModulesRoute: typeof LayoutModulesRoute
LayoutSecretsRoute: typeof LayoutSecretsRoute
LayoutSettingsRoute: typeof LayoutSettingsRoute
@@ -443,7 +402,6 @@ interface LayoutRouteChildren {
const LayoutRouteChildren: LayoutRouteChildren = {
LayoutAdminRoute: LayoutAdminRoute,
LayoutAlertsRoute: LayoutAlertsRoute,
LayoutHealthRoute: LayoutHealthRoute,
LayoutModulesRoute: LayoutModulesRoute,
LayoutSecretsRoute: LayoutSecretsRoute,
LayoutSettingsRoute: LayoutSettingsRoute,