feat: refactor agent manager, media library, and player UX

- Split admin users page into player/tier-1/tier-2 tabs with affiliation labels and context-specific create dialogs

- Add media library with uploaded_files migration, list/delete unused files API, and admin nav route

- Enforce player username format (alphanumeric 3-32) on frontend and backend via shared package

- Improve admin dialog/panel styling; refine player parlay and match bet card kickoff display

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-09 17:56:28 +08:00
parent d5e7c8edb3
commit df20444be9
27 changed files with 2136 additions and 563 deletions

View File

@@ -103,9 +103,9 @@ function fmtFull(value: string | null | undefined) {
margin-top: 12px;
}
.credit-context-title {
font-size: 12px;
font-weight: 600;
color: #888;
font-size: 13px;
font-weight: 700;
color: #bbb;
margin-bottom: 8px;
}
.credit-context-alert {

View File

@@ -103,9 +103,9 @@ function limitLabel(value: string | null) {
.transfer-context { margin-bottom: 16px; min-height: 48px; }
.transfer-context-section + .transfer-context-section { margin-top: 12px; }
.transfer-context-title {
font-size: 12px;
font-weight: 600;
color: #888;
font-size: 13px;
font-weight: 700;
color: #bbb;
margin-bottom: 8px;
}
.transfer-context-alert { margin-bottom: 0; }