diff --git a/src/arbitrade/api/routes.py b/src/arbitrade/api/routes.py index 1303218..c3fff79 100644 --- a/src/arbitrade/api/routes.py +++ b/src/arbitrade/api/routes.py @@ -218,11 +218,10 @@ def _form_bool(value: str | None) -> bool: return value.lower() in {"1", "true", "yes", "on"} -@router.get("/", response_class=HTMLResponse) -async def home(request: Request) -> HTMLResponse: +async def _dashboard_response(request: Request, template_name: str = "dashboard.html") -> HTMLResponse: return templates.TemplateResponse( request=request, - name="dashboard.html", + name=template_name, context={ "title": "Arbitrade Dashboard", "request": request, @@ -236,22 +235,14 @@ async def home(request: Request) -> HTMLResponse: ) +@router.get("/", response_class=HTMLResponse) +async def home(request: Request) -> HTMLResponse: + return await _dashboard_response(request) + + @router.get("/dashboard", response_class=HTMLResponse) async def dashboard(request: Request) -> HTMLResponse: - return templates.TemplateResponse( - request=request, - name="dashboard.html", - context={ - "title": "Arbitrade Dashboard", - "request": request, - "metrics_endpoint": "/dashboard/fragment/metrics", - "overview_endpoint": "/dashboard/fragment/overview", - "controls_endpoint": "/dashboard/fragment/controls", - "charts_endpoint": "/dashboard/fragment/charts", - "stream_endpoint": "/dashboard/stream/metrics", - "overview_stream_endpoint": "/dashboard/stream/overview", - }, - ) + return await _dashboard_response(request) @router.get("/dashboard/fragment/metrics", response_class=HTMLResponse)