from pathlib import Path

import aiofiles
from fastapi.responses import HTMLResponse, Response

from modules.app import app


@app.get("/pages/matter.css", include_in_schema=False)
async def page_matter():
    async with aiofiles.open(Path("pages/matter.css"), "r", encoding="utf-8") as f:
        output = await f.read()
    return Response(content=output)


@app.get("/pages/{page}/{file}", include_in_schema=False)
async def page_assets(page: str, file: str):
    async with aiofiles.open(Path(f"pages/{page}/{file}"), "r", encoding="utf-8") as f:
        output = await f.read()
    return Response(content=output)


@app.get("/", include_in_schema=False)
async def page_home():
    async with aiofiles.open(Path("pages/home/index.html"), "r", encoding="utf-8") as f:
        output = await f.read()
    return HTMLResponse(content=output)


@app.get("/register", include_in_schema=False)
async def page_register():
    async with aiofiles.open(
        Path("pages/register/index.html"), "r", encoding="utf-8"
    ) as f:
        output = await f.read()
    return HTMLResponse(content=output)