diff --git a/CLAUDE.md b/CLAUDE.md index 52342af2..d9900094 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -159,6 +159,13 @@ When adding new frontend pages or components, use "ResolutionFlow" for any user- - Utility script: `backend/make_superadmin_simple.py list|` - promote users to super admin - ActionMenu component: uses React Portal to avoid overflow clipping in tables - **API Path Gotcha:** Frontend `apiClient` baseURL is `http://localhost:8000/api/v1` — all API calls should use relative paths WITHOUT `/api/v1/` prefix (e.g., `/admin/users` not `/api/v1/admin/users`) +- **Session Quick Wins (Issues #51-#55, PR #72):** + - Session timer: `useSessionTimer` hook displays elapsed `MM:SS` / `HH:MM:SS` in session header + - Keyboard hints: `Tab` shortcut focuses notes textarea (`id="session-notes"`), hint text updated + - Repeat Last Session: saves `{tree_id, tree_name, client_name, ticket_number}` to localStorage on session start; "Repeat" button on tree library page prefills metadata via `location.state` + - Session auto-recovery: fetches incomplete sessions on tree library mount; resume/dismiss banner (dismissed IDs in `sessionStorage`) + - Copy step to clipboard: copy button on each decision card in `SessionDetailPage` timeline + - Delete tree button: added to `TreeTableView` and `TreeListView` (was missing, only grid view had it) ### What's In Progress @@ -263,7 +270,7 @@ patherly/ │ │ │ ├── auth.ts │ │ │ ├── trees.ts │ │ │ └── sessions.ts -│ │ ├── hooks/ # Custom React hooks (useKeyboardShortcuts, usePermissions) +│ │ ├── hooks/ # Custom React hooks (useKeyboardShortcuts, usePermissions, useSessionTimer) │ │ ├── store/ │ │ │ ├── authStore.ts # Zustand auth state │ │ │ ├── themeStore.ts # Unused (dark-only mode, no toggle)