Rewrite the Data page shell into a settings-style two-pane layout (sticky goal -nav on desktop, segmented on mobile) with: - ConnectionHero — 5 states so a network blip is never mistaken for "not connected" and a server without SimpleFIN never shows a dead Connect button (loading / disabled / error+retry / not-connected / connected±needs-attention); Sync-now handles partial errors, 429, and failure with toasts. - DataNav — <nav> landmark, aria-current, keyboard, responsive. - ?section= deep-linking via useSearchParams (URL source of truth → localStorage → default; migrates the old 3-tab key), so refresh/back-button work. - Goal-based regroup into 4 panes with plain-language titles/subtitles/icons passed via cardProps (every section component reused unchanged). - Lazy panes: ImportSpreadsheet/ImportMyData code-split (own chunks) + only the active pane mounts; framer-motion cross-fade (reduced-motion aware); focus-to-heading on switch. - Repoint BankTransactions "Open Data" → ?section=bank-sync; add /data to the authed axe sweep. Build clean (heavy panes split into their own chunks); client suite 46 pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| pages | ||
| public/img | ||
| App.jsx | ||
| api.js | ||
| index.css | ||
| main.jsx | ||