feat(ui): 3-tab UI per spec — admin dashboard + date filter, personal dashboard, training w/ difficulty, settings profile

Tab 1 Admin overview (/): aggregate stats + DATE FILTER (?from&to), hardest personas,
admin quick actions (Users / + Add product).
Tab 2 My dashboard (/my/board): per-user win/lose/session summary (works for admin too).
Tab 3 Training (/training): product list w/ status + persona count; admins see all groups
(draft->analyze/edit), trainees see ready->personas; persona list shows DIFFICULTY (1-5
stars); admins get a Manage-personas button.
Settings (/settings): profile (name/email) via new PATCH /api/auth/profile + change
password + language.
Backend: analytics date filter; profile endpoint; /api/me/board + /api/chat/sessions
opened to any authed user.
Rebuilt frontend/dist.
This commit is contained in:
Macky
2026-08-07 22:35:49 +07:00
parent ac35be8906
commit b05907ae62
40 changed files with 319 additions and 88 deletions

View File

@@ -0,0 +1 @@
.stat[data-v-c411a8cc]{text-align:center;min-width:110px}.stat div[data-v-c411a8cc]{color:var(--muted);font-size:12px}.stat strong[data-v-c411a8cc]{font-size:20px}.filter-bar[data-v-c411a8cc]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-bar input[type=date][data-v-c411a8cc]{width:auto}.grid[data-v-c411a8cc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.tier-card[data-v-c411a8cc]{display:flex;flex-direction:column}.badge.won[data-v-c411a8cc]{background:#dcfce7;color:#166534}.badge.lost[data-v-c411a8cc]{background:#fee2e2;color:#991b1b}.badge.not_tried[data-v-c411a8cc]{background:#eef2ff;color:#4338ca}