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 = {