diff --git a/lobby/templates/lobby/spa_shell.html b/lobby/templates/lobby/spa_shell.html new file mode 100644 index 0000000..64050af --- /dev/null +++ b/lobby/templates/lobby/spa_shell.html @@ -0,0 +1,13 @@ + + + + + WPP SPA Shell + + + + + Indlæser Angular app-shell… + + + diff --git a/lobby/ui_views.py b/lobby/ui_views.py index 21e9c65..1d5dfad 100644 --- a/lobby/ui_views.py +++ b/lobby/ui_views.py @@ -1,14 +1,32 @@ +from django.conf import settings from django.contrib.auth.decorators import login_required from django.shortcuts import render from fupogfakta.models import Category +def _render_spa_shell(request, shell_route: str): + return render( + request, + "lobby/spa_shell.html", + { + "shell_route": shell_route, + "spa_asset_base": settings.WPP_SPA_ASSET_BASE, + }, + ) + + @login_required def host_screen(request, spa_path=None): + if settings.WPP_SPA_ENABLED: + return _render_spa_shell(request, "/host") + categories = Category.objects.filter(is_active=True).order_by("name") return render(request, "lobby/host_screen.html", {"categories": categories}) def player_screen(request): + if settings.WPP_SPA_ENABLED: + return _render_spa_shell(request, "/player") + return render(request, "lobby/player_screen.html") diff --git a/partyhub/settings.py b/partyhub/settings.py index c808d03..a776fa7 100644 --- a/partyhub/settings.py +++ b/partyhub/settings.py @@ -99,6 +99,9 @@ STATIC_ROOT = BASE_DIR / 'staticfiles' DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' +WPP_SPA_ENABLED = env('WPP_SPA_ENABLED', 'false').lower() == 'true' +WPP_SPA_ASSET_BASE = env('WPP_SPA_ASSET_BASE', '/static/frontend/angular/browser').rstrip('/') + CHANNEL_REDIS_HOST = env('CHANNEL_REDIS_HOST', '127.0.0.1') CHANNEL_REDIS_PORT = int(env('CHANNEL_REDIS_PORT', '6379')) CHANNEL_LAYERS = {