feat: split admin dashboard, improve match ops, and player closed-match UX

Admin: add match/player overview sub-nav; refine settlement flow and league
match management UI; improve action button enabled/disabled styles; enhance
logo upload and outright odds sync.

API: expose matchPhase/bettingOpen for closed matches; league publish guards;
settlement preview with auto score save; outright team auto-sync.

Player: watermark for closed/settled states; keep match and bet details visible;
remove default login credentials.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-10 13:00:14 +08:00
parent 6124313369
commit 03f54ca689
43 changed files with 2787 additions and 519 deletions

View File

@@ -381,10 +381,12 @@ async function doUpload() {
.file-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
align-content: start;
gap: 14px;
overflow-y: auto;
flex: 1;
padding-right: 4px;
padding-bottom: 8px;
}
.file-card {
@@ -448,7 +450,6 @@ async function doUpload() {
display: flex;
flex-direction: column;
gap: 4px;
flex: 1;
}
.card-filename {
font-size: 12px;
@@ -526,6 +527,14 @@ async function doUpload() {
}
.muted { color: #333; }
.file-grid::-webkit-scrollbar { width: 6px; }
.file-grid::-webkit-scrollbar-track { background: transparent; }
.file-grid::-webkit-scrollbar-thumb {
background: #2a2a2a;
border-radius: 3px;
}
.file-grid::-webkit-scrollbar-thumb:hover { background: #444; }
/* ── Upload dialog ── */
.dialog-overlay {
position: fixed;