houseassassin
|
c34c99d86a
|
fix: memoize date range in AnalyticsDashboard to prevent infinite refetch
|
2026-05-07 20:31:49 +03:00 |
|
houseassassin
|
5714f99cbe
|
feat: add CompletedOrdersTable with sorting and CSV export
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-07 20:30:53 +03:00 |
|
houseassassin
|
99c6624af7
|
feat: add AnalyticsDashboard with period selector and KPI cards
|
2026-05-07 20:30:25 +03:00 |
|
houseassassin
|
b19ab501cb
|
feat: add FunnelChart, RevenueChart, ObjectTypeChart, AvgTimeChart
|
2026-05-07 20:29:06 +03:00 |
|
houseassassin
|
ff84f89f29
|
fix: optimistic DnD updates, focus trap, film_thickness coercion, closed_at reset
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-07 20:29:05 +03:00 |
|
houseassassin
|
fcc86fd7b9
|
feat: add useAnalytics hook with KPI and chart data aggregation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-07 20:27:30 +03:00 |
|
houseassassin
|
7089737f76
|
feat: add Kanban board with drag-and-drop, OrderModal create/edit
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-07 20:25:28 +03:00 |
|
houseassassin
|
34a2f10b67
|
fix: useOrders unmount guard, log event errors, complete status coverage in tests
|
2026-05-07 20:19:45 +03:00 |
|
houseassassin
|
72407fa9b8
|
feat: add useOrders hook with CRUD, status updates, and Realtime
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-07 20:18:15 +03:00 |
|
houseassassin
|
bb8d20a853
|
fix: move refreshBadge into effect, add logout error handling
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-07 20:16:44 +03:00 |
|
houseassassin
|
735d0a88cb
|
feat: add AdminLayout with dark sidebar and sticky header
|
2026-05-07 20:15:28 +03:00 |
|
houseassassin
|
5628f45c71
|
fix: LoginPage accessibility (labels, alert), open-redirect guard
|
2026-05-07 20:14:06 +03:00 |
|
houseassassin
|
b52e3685ac
|
feat: add ProtectedRoute and LoginPage
|
2026-05-07 20:12:55 +03:00 |
|
houseassassin
|
713eee7912
|
fix: also guard onAuthStateChange callback with active flag
|
2026-05-07 20:11:59 +03:00 |
|
houseassassin
|
f6b66efd02
|
fix: guard useAuth against unmount race, return error from logout
|
2026-05-07 20:11:23 +03:00 |
|
houseassassin
|
418b4b7cac
|
feat: add useAuth hook with Supabase Auth session management
Implements useAuth with getSession, onAuthStateChange, login, and logout.
All 6 TDD tests pass, using vi.hoisted to resolve Vitest mock hoisting.
|
2026-05-07 20:07:53 +03:00 |
|
houseassassin
|
cf6ef372c1
|
feat: add React Router, lazy-load admin routes
|
2026-05-07 20:06:20 +03:00 |
|
houseassassin
|
fa342235d9
|
feat: add Supabase, React Router, dnd-kit, recharts, Vitest
|
2026-05-07 20:04:19 +03:00 |
|