from fastapi import APIRouter, Request, HTTPException from fastapi.responses import HTMLResponse from fastapi.templating import Jinja2Templates import logging logger = logging.getLogger(__name__) router = APIRouter() templates = Jinja2Templates(directory=["app/prepaid/frontend", "app/shared/frontend", "app"]) @router.get("/prepaid-cards", response_class=HTMLResponse) async def prepaid_cards_page(request: Request): """ Prepaid cards overview page """ logger.info("🔍 Rendering prepaid cards page") return templates.TemplateResponse("index.html", { "request": request, "page_title": "Prepaid Cards" }) @router.get("/prepaid-cards/{card_id}", response_class=HTMLResponse) async def prepaid_card_detail(request: Request, card_id: str): """ Prepaid card detail page """ try: card_id_int = int(card_id) except (TypeError, ValueError): raise HTTPException(status_code=404, detail="Prepaid card not found") logger.info(f"🔍 Rendering prepaid card detail: {card_id_int}") return templates.TemplateResponse("detail.html", { "request": request, "page_title": "Card Details", "card_id": card_id_int })