Polish: per-route titles and a way to sign out

There was no sign-out control anywhere. Easy to miss when you develop
permanently signed in, and a stranded feeling for anyone on a shared machine.
Clearing the identity provider's session is sufficient — PIG holds no session
of its own — and the auth listener returns to sign-in without a reload. A hard
redirect follows regardless, so a failed provider call cannot leave a
half-signed-out interface.

Every route now sets its own document title. A single static title makes
browser history and a wall of tabs useless: every entry reads "pig" and nobody
can tell the margin view from the pipeline.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-12 19:49:32 -07:00
parent 46d7d80f1b
commit d154a78d48
7 changed files with 78 additions and 2 deletions
+2
View File
@@ -6,6 +6,7 @@ import { useQuery } from '@tanstack/react-query';
import { Building2 } from 'lucide-react';
import { get, relativeTime } from '@/lib/api';
import { Badge, ConfidenceBadge, EmptyState, Input, Skeleton } from '@/components/ui';
import { usePageTitle } from '@/lib/title';
interface Account {
id: string;
@@ -20,6 +21,7 @@ interface Account {
}
export function Accounts() {
usePageTitle('Accounts');
const [side, setSide] = useState<'all' | 'supply' | 'demand'>('all');
const [query, setQuery] = useState('');