Add DRF API app and real-time draft management UI
- Created new `api` Django app with serializers, viewsets, and routers to expose draft sessions, participants, and movie data. - Registered `api` app in settings and updated root URL configuration. - Extended WebSocket consumers with `inform.draft_status` / `request.draft_status` to allow fetching current draft state. - Updated `DraftSession` and related models to support reverse lookups for draft picks. - Enhanced draft state manager to include `draft_order` in summaries. - Added React WebSocket context provider, connection status component, and new admin/participant panels with phase and participant tracking. - Updated SCSS for participant lists, phase indicators, and status badges. - Modified Django templates to mount new React roots for admin and participant views. - Updated Webpack dev server config to proxy WebSocket connections.
This commit is contained in:
@@ -31,12 +31,10 @@
|
||||
"name": "Start Webpack Dev Server",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"program": "npm",
|
||||
"runtimeExecutable": "npm",
|
||||
"args": [
|
||||
"run",
|
||||
"dev",
|
||||
"--config",
|
||||
"${workspaceFolder}/frontend/webpack.config.js"
|
||||
"dev"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/frontend",
|
||||
"console": "integratedTerminal",
|
||||
@@ -63,8 +61,8 @@
|
||||
],
|
||||
"compounds": [
|
||||
{
|
||||
"name": "Django + Chrome",
|
||||
"configurations": ["Run Django Server", "Launch Chrome"],
|
||||
"name": "Django + Chrome + Webpack",
|
||||
"configurations": ["Run Django Server", "Launch Chrome", "Start Webpack Dev Server"],
|
||||
"type": "compound"
|
||||
}
|
||||
]
|
||||
@@ -154,23 +152,24 @@
|
||||
"editor.defaultFormatter": "ms-python.black-formatter"
|
||||
},
|
||||
"[django-html]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.quickSuggestions": {
|
||||
"other": true,
|
||||
"comments": true,
|
||||
"strings": true
|
||||
}
|
||||
"editor.defaultFormatter": "monosans.djlint",
|
||||
},
|
||||
"files.exclude": {
|
||||
"**/__pycache__":true,
|
||||
".venv":true
|
||||
"emmet.includeLanguages": {
|
||||
"django-html": "html"
|
||||
},
|
||||
"files.associations": {
|
||||
"*.dj.html": "django-html"
|
||||
},
|
||||
"html.autoClosingTags": true,
|
||||
"emmet.includeLanguages": {
|
||||
"django-html": "html"
|
||||
}
|
||||
"files.exclude": {
|
||||
"**/__pycache__":true,
|
||||
".venv":false
|
||||
},
|
||||
"auto-close-tag.activationOnLanguage": [
|
||||
"django-html"
|
||||
],
|
||||
"terminal.integrated.env.osx": {
|
||||
"VSCODE_HISTFILE":"${workspaceFolder}/.venv/.term_history"
|
||||
},
|
||||
// "html.autoClosingTags": true,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user