Files
gallery/gallery/easel/route/view/common/__init__.py
2026-04-12 17:37:36 +03:00

38 lines
975 B
Python

from pathlib import Path
from typing import NamedTuple
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from gallery.version import __version__
class Section(NamedTuple):
link: str
title: str
SECTIONS = [
Section("weather", "Погода"),
Section("schedule", "Телепрограмма"),
]
def mount(app: FastAPI):
base_dir = Path(__file__).parent
app.mount("/static/common", StaticFiles(directory=base_dir / "static"))
templates = Jinja2Templates(directory=base_dir / "templates")
@app.get("/", response_class=HTMLResponse)
async def get_section_list(request: Request):
return templates.TemplateResponse(
request=request,
name="root_index.html",
context={
"version": __version__,
"sections": SECTIONS,
},
)