semblance-dev/backend/app
Vadym Samoilenko 57508e8e55 Add period selector to all cost-bearing admin tabs
- New usePeriod hook (day/week/month/all/custom presets) with from/to ISO string outputs
- New PeriodSelector component (button group + custom date inputs)
- UsersTab, UsageTab, FocusGroupsTab all wired up with period state
- Backend /admin/users and /admin/focus-groups now accept from/to query params
- MTD Cost column header now reflects selected period label (e.g. "Cost (MTD)")
- Logout clears local state only (no account sign-out)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 19:03:16 +01:00
..
auth Complete phases D–G: quota enforcement, token invalidation, admin writes, backfill 2026-04-24 18:34:48 +01:00
models Complete phases D–G: quota enforcement, token invalidation, admin writes, backfill 2026-04-24 18:34:48 +01:00
routes Add period selector to all cost-bearing admin tabs 2026-04-24 19:03:16 +01:00
services Final pieces: decorators on LLM routes, usage self-service, billing page, WS events 2026-04-24 18:43:13 +01:00
utils Add LLM usage tracking infrastructure (Phases A-C) 2026-04-24 18:08:27 +01:00
.DS_Store changed permissions 2025-12-19 19:26:16 +00:00
__init__.py Final pieces: decorators on LLM routes, usage self-service, billing page, WS events 2026-04-24 18:43:13 +01:00
db.py Add LLM usage tracking infrastructure (Phases A-C) 2026-04-24 18:08:27 +01:00
extensions.py changed permissions 2025-12-19 19:26:16 +00:00
websocket_debug_tap.py changed permissions 2025-12-19 19:26:16 +00:00
websocket_manager.py Apply Jintech security audit remediation (sprint 3) — 87/92 findings fixed 2026-03-20 12:51:18 +00:00
websocket_manager_async.py Fix AI autonomous mode: cross-loop WebSocket emit + polling fallback 2026-03-23 18:22:24 +00:00