feat: enhance lottery system with participant import and prize config

- Fix ES module import issue in admin.service.ts (require -> import)
- Fix lottery reveal ghosting by hiding name particles on complete
- Add participant import from Excel with tag calculation
- Add prize configuration service with JSON persistence
- Constrain winners overlay to scroll area dimensions
- Fix macOS lsof syntax in stop script
- Add HorseRace view and renderer (WIP)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
empty
2026-01-23 12:20:45 +08:00
parent 35d77cbb22
commit a442d050e4
23 changed files with 2523 additions and 325 deletions

View File

@@ -17,27 +17,32 @@
},
"dependencies": {
"@gala/shared": "workspace:*",
"express": "^4.21.2",
"socket.io": "^4.8.1",
"@socket.io/redis-adapter": "^8.3.0",
"ioredis": "^5.4.2",
"@prisma/client": "^6.2.1",
"zod": "^3.24.1",
"cors": "^2.8.5",
"helmet": "^8.0.0",
"@socket.io/redis-adapter": "^8.3.0",
"compression": "^1.7.5",
"cors": "^2.8.5",
"dotenv": "^16.4.7",
"express": "^4.21.2",
"helmet": "^8.0.0",
"ioredis": "^5.4.2",
"multer": "^2.0.2",
"nanoid": "^5.0.9",
"pino": "^9.6.0",
"pino-pretty": "^13.0.0",
"nanoid": "^5.0.9"
"socket.io": "^4.8.1",
"uuid": "^13.0.0",
"xlsx": "^0.18.5",
"zod": "^3.24.1"
},
"devDependencies": {
"@types/express": "^5.0.0",
"@types/cors": "^2.8.17",
"@types/compression": "^1.7.5",
"@types/cors": "^2.8.17",
"@types/express": "^5.0.0",
"@types/multer": "^2.0.0",
"@types/uuid": "^11.0.0",
"prisma": "^6.2.1",
"tsx": "^4.19.2",
"tsup": "^8.3.5",
"tsx": "^4.19.2",
"typescript": "^5.7.3",
"vitest": "^2.1.8"
}