Files
faction_war_dispatch_bot/routers/pages.py

43 lines
1.6 KiB
Python

"""Web page routes for dashboard and config page."""
from fastapi import APIRouter, Request
from fastapi.responses import HTMLResponse, RedirectResponse
from fastapi.templating import Jinja2Templates
from utils.auth import check_auth
router = APIRouter()
templates = Jinja2Templates(directory="templates")
@router.get("/login", response_class=HTMLResponse)
async def login_page(request: Request):
#Login page
# If already authenticated, redirect to dashboard
if check_auth(request):
return RedirectResponse(url="/", status_code=302)
return templates.TemplateResponse("login.html", {"request": request})
@router.get("/", response_class=HTMLResponse)
async def dashboard(request: Request):
#Dashboard page - requires authentication
if not check_auth(request):
return RedirectResponse(url="/login", status_code=302)
print(">>> DASHBOARD ROUTE LOADED")
return templates.TemplateResponse("dashboard.html", {"request": request})
@router.get("/config", response_class=HTMLResponse)
async def config_page(request: Request):
#Config page - requires authentication
if not check_auth(request):
return RedirectResponse(url="/login", status_code=302)
return templates.TemplateResponse("config.html", {"request": request})
@router.get("/users-log", response_class=HTMLResponse)
async def users_log_page(request: Request):
#Users/Log page - requires authentication
if not check_auth(request):
return RedirectResponse(url="/login", status_code=302)
return templates.TemplateResponse("users_log.html", {"request": request})