fire-planner: UX review pass 2 — health URL, Progress in shell, Gantt
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
single-year drag, Settings highlight, Dashboard empty state Round 2 of agent-driven UX review. - api status badge was always "unreachable" because client called /api/healthz but FastAPI mounts /healthz at root (so k8s probes hit it without the SPA prefix). Client now calls /healthz directly. - Progress page rendered without the shell sidebar/tabs because its route was sibling to ScenarioShell; moved it inside as a nested route (also drops the redundant "← Plan" breadcrumb since the tab bar handles that now). - EventGantt: single-year (point) events no longer render edge handles since the bar is too narrow to distinguish "edge grab" from "middle grab" — for points the whole bar moves; resize via the popover. Bars wider than 24px keep their edge handles. - Settings sub-nav: Milestones now points at /settings/milestones (consistent active highlight); /settings index redirects there. - Dashboard "Last 12 months" chart shows an explainer when the history has fewer than 2 snapshots instead of an empty axis. - Stub tabs that are currently active get a slate-300 underline + slate-500 text rather than the bold slate-900 — visually honest about what's a placeholder. Frontend typecheck/test/build green.
This commit is contained in:
parent
cd1fc37f25
commit
9fd8389c26
8 changed files with 53 additions and 34 deletions
|
|
@ -2,6 +2,8 @@ import { useQuery } from '@tanstack/react-query';
|
|||
import { NavLink, Route, Routes, Link } from 'react-router-dom';
|
||||
|
||||
import { api } from '@/api/client';
|
||||
import { Navigate } from 'react-router-dom';
|
||||
|
||||
import { Compare } from '@/pages/Compare';
|
||||
import { Dashboard } from '@/pages/Dashboard';
|
||||
import { CashflowTab } from '@/pages/CashflowTab';
|
||||
|
|
@ -53,9 +55,9 @@ export function App() {
|
|||
<Route path="/scenarios" element={<Scenarios />} />
|
||||
<Route path="/scenarios/new" element={<ScenarioNew />} />
|
||||
<Route path="/scenarios/:id/edit" element={<ScenarioEdit />} />
|
||||
<Route path="/scenarios/:id/progress" element={<ProgressPage />} />
|
||||
<Route path="/scenarios/:id" element={<ScenarioShell />}>
|
||||
<Route index element={<ScenarioDetail />} />
|
||||
<Route path="progress" element={<ProgressPage />} />
|
||||
<Route path="cash-flow" element={<CashflowTab />} />
|
||||
<Route
|
||||
path="tax-analytics"
|
||||
|
|
@ -74,7 +76,7 @@ export function App() {
|
|||
element={<PlaceholderTab feature="Estate planning" wave={2} />}
|
||||
/>
|
||||
<Route path="settings" element={<SettingsTab />}>
|
||||
<Route index element={<MilestonesSettings />} />
|
||||
<Route index element={<Navigate to="milestones" replace />} />
|
||||
<Route path="milestones" element={<MilestonesSettings />} />
|
||||
<Route path="rates" element={<RatesSettings />} />
|
||||
<Route
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue