Milestones 0 and 1: foundation and money in (20261007.10)
Foundation: single arm64 container (Hono + SQLite via Drizzle, React + Vite), local sign-in with long-lived sessions and passkeys, roles (read-only, full access, admin), nightly and pre-upgrade backups, light and dark themes, date-based version numbers, and the ideas lightbulb behind IDEAS_ENABLED. Money in: accounts with balances, CSV import with bank detection, a column mapping pop-up for unknown layouts, duplicate checks, transfer pairing and undo; one-tap review with learned rules; activity with search, splits, tags, notes and cash entries. Statement files are blocked from commits by a pre-commit hook; tests use synthetic fixtures only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
25
web/src/components/RouteError.tsx
Normal file
25
web/src/components/RouteError.tsx
Normal file
@@ -0,0 +1,25 @@
|
||||
import { RefreshCw, TriangleAlert } from 'lucide-react';
|
||||
import { useRouteError } from 'react-router';
|
||||
import { Button } from './ui/button';
|
||||
|
||||
/** Shown instead of a blank screen if something breaks while drawing a page. */
|
||||
export function RouteError() {
|
||||
const error = useRouteError();
|
||||
if (error) console.error(error);
|
||||
return (
|
||||
<div className="flex min-h-[60dvh] items-center justify-center px-4 py-16">
|
||||
<div className="max-w-sm text-center">
|
||||
<span className="mx-auto mb-5 flex size-14 items-center justify-center rounded-2xl bg-warn/12 text-warn">
|
||||
<TriangleAlert className="size-7" strokeWidth={1.8} />
|
||||
</span>
|
||||
<h2 className="text-xl font-semibold tracking-tight">Something went wrong</h2>
|
||||
<p className="mt-2 text-[14.5px] leading-relaxed text-muted-foreground">
|
||||
This screen hit a problem. Reloading usually fixes it, and nothing you saved has been lost.
|
||||
</p>
|
||||
<Button className="mt-6" onClick={() => window.location.reload()}>
|
||||
<RefreshCw /> Reload
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user