Spaces:
Sleeping
Sleeping
File size: 1,335 Bytes
c09e844 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
"""
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
})
|