""" HTML page routes using Jinja2 templates. Uses services following Model/Service Architecture. """ import logging from fastapi import APIRouter, Request, Depends from fastapi.templating import Jinja2Templates from fastapi.responses import HTMLResponse logger = logging.getLogger(f'{__name__}.pages_router') router = APIRouter() templates = Jinja2Templates(directory="app/templates") @router.get("/", response_class=HTMLResponse) async def home_page(request: Request): """Home page.""" return templates.TemplateResponse("home.html", {"request": request}) @router.get("/game/{game_id}", response_class=HTMLResponse) async def game_page(request: Request, game_id: int): """Game interface page.""" # TODO: Get game data using GameService return templates.TemplateResponse("game.html", { "request": request, "game_id": game_id })