feat: add Admin Control Panel, voting status check, and router security

Admin Control Panel:
- Add full AdminControl.vue with 3 sections (Voting, Lottery, Global)
- Add AdminLogin.vue with access code gate (20268888)
- Add admin.ts store with state persistence
- Add admin.types.ts with state machine types
- Add router guards for /admin/director-console

Voting System Fixes:
- Add voting status check before accepting votes (VOTING_CLOSED error)
- Fix client to display server error messages
- Fix button disabled logic to prevent ambiguity in paused state
- Auto-generate userId on connect to fix UNAUTHORIZED error

Big Screen Enhancements:
- Add LiveVotingView.vue with particle system
- Add LotteryMachine.ts with 3-stage animation (Galaxy/Storm/Reveal)
- Add useSocketClient.ts composable
- Fix MainDisplay.vue SCSS syntax error
- Add admin state sync listener in display store

Server Updates:
- Add admin.service.ts for state management
- Add isVotingOpen() and getVotingStatus() methods
- Add admin socket event handlers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
empty
2026-01-15 15:34:37 +08:00
parent e7397d22a9
commit 30cd29d45d
45 changed files with 7791 additions and 715 deletions

View File

@@ -1,4 +1,4 @@
@import './variables.scss';
@use './variables.scss' as *;
// Reset
*,

View File

@@ -1,13 +1,20 @@
// Guochao Red & Gold Theme Variables
// Year of the Horse Edition - 马年国潮主题
// Primary colors - 国潮红金配色
$color-primary: #c41230; // 中国红
// Primary colors - 丹砂红
$color-primary: #C21F30; // Dan-sha Red
$color-primary-light: #e8384f;
$color-primary-dark: #9a0e26;
$color-gold: #d4a84b; // 金色
$color-gold-light: #f0c96a;
$color-gold-dark: #b8923f;
// Gold colors - 香槟金
$color-gold: #F0C239; // Champagne Gold
$color-gold-light: #f5d76e;
$color-gold-dark: #d4a84b;
// Glassmorphism surfaces
$color-surface-glass: rgba(194, 31, 48, 0.85);
$color-surface-glass-light: rgba(194, 31, 48, 0.6);
$backdrop-blur: blur(12px);
// Background colors
$color-bg-primary: #fff5f5;