b100feee
web: home route with real session list, filters, keyboard cursor
- api/client.ts: apiFetch with AuthError/APIError, 401 and problem+json handling - api/adapters.ts: SessionDTO→Session adapter with composite id and epoch conversion - api/adapters.test.ts: 6 TDD tests covering all specified edge cases - features/home/useSessions.ts: TanStack Query hook with since/tool/host params - features/home/FilterChips.tsx: chip-bar with popovers, Esc/outside-click dismiss - features/home/SessionsTable.tsx: grid table with cursor row highlight, formatStarted/formatTok - features/home/useHomeCursor.ts: cursor hook with move/activate/jumpTo - routes/index.tsx: Home route wired to real data, URL-driven filters, keyboard cursor - routes/__root.tsx: cursorRef + KeyboardCursorContext for route-local cursor registration - routes/session.$tool.$host.$id.tsx: stub for Phase 6 - styles/home.css: .home-table/.home-thead/.home-row/.home-row.cursor grid rules - primitives/ToolDot.tsx: widened tool prop to string (Tool type is open-ended)
Eugene Blikh <bigbes@gmail.com> — 2026-04-26 04:04:18 UTC
Commit b100feee542aaacd159d90f8c35b2c68a26e8893 —
view raw patch
Parent(s):
0b51b8ee
| File | Status | + | − |
|---|---|---|---|
internal/server/web/dist/index.html
|
M | +2 | -2 |
web/src/api/adapters.test.ts
|
A | +59 | |
web/src/api/adapters.ts
|
A | +51 | |
web/src/api/client.ts
|
A | +45 | |
web/src/features/home/FilterChips.tsx
|
A | +209 | |
web/src/features/home/SessionsTable.tsx
|
A | +82 | |
web/src/features/home/useHomeCursor.ts
|
A | +37 | |
web/src/features/home/useSessions.ts
|
A | +54 | |
web/src/primitives/ToolDot.tsx
|
M | +1 | -1 |
web/src/routeTree.gen.ts
|
M | +35 | -2 |
web/src/routes/__root.tsx
|
M | +32 | -8 |
web/src/routes/index.tsx
|
M | +110 | -8 |
web/src/routes/session.$tool.$host.$id.tsx
|
A | +25 | |
web/src/styles/home.css
|
A | +48 |