import os from fastapi import FastAPI from fastapi.responses import FileResponse from fastapi.staticfiles import StaticFiles def register(app: FastAPI): ui_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "ui") if not os.path.isdir(ui_dir): return for name in ["css", "js", "static"]: app.mount( f"/{name}", StaticFiles(directory=os.path.join(ui_dir, name)), name=name, ) @app.get("/", include_in_schema=False) async def index(): return FileResponse(os.path.join(ui_dir, "index.html"))