Liga-System/gui/base_page.py

27 lines
1020 B
Python

# gui/base_page.py
from nicegui import ui, app
from starlette.requests import Request
def apply_design():
ui.add_css('body { background-color: #171721; }')
ui.dark_mode(True)
ui.colors(primary='#B80B0B', secondary='#FF3333', accent='#2078D4',
positive='#188C42', negative='#E31919', info='#939393', warning='#f59e0b')
def is_mobile(request: Request) -> bool:
user_agent = request.headers.get("user-agent", "").lower()
return any(k in user_agent for k in ["mobile", "android", "iphone", "ipod", "blackberry", "windows phone"])
def base_page(request: Request, title: str):
apply_design()
# Zentrale Login-Prüfung
if not app.storage.user.get('authenticated', False):
# Was wird angezeigt wenn ein User NICHT eingeloggt ist und versucht eine Seite aufzurufen.
apply_design()
ui.label('Access Denied. Please Login').classes('text-red-500')
ui.button('Login', on_click=lambda: ui.navigate.to('/login'))
return False
return True