""" Dashboard Router Serves frontend Jinja2 templates """ from fastapi import APIRouter, Request, Depends from fastapi.templating import Jinja2Templates from fastapi.responses import HTMLResponse, RedirectResponse from sqlalchemy.orm import Session from app.database import get_db from app.models import User from app.services.auth_service import get_current_user router = APIRouter() templates = Jinja2Templates(directory="app/templates") @router.get("/", response_class=HTMLResponse) async def home(request: Request): """Home page - redirect to login""" return RedirectResponse(url="/login") @router.get("/login", response_class=HTMLResponse) async def login_page(request: Request): """Login page""" return templates.TemplateResponse("login.html", {"request": request}) @router.get("/register", response_class=HTMLResponse) async def register_page(request: Request): """Registration page""" return templates.TemplateResponse("register.html", {"request": request}) @router.get("/dashboard", response_class=HTMLResponse) async def dashboard_page(request: Request): """ Main dashboard page Requires authentication (handle in frontend with token) """ return templates.TemplateResponse("dashboard.html", { "request": request })