This commit is contained in:
2025-11-17 21:36:25 +01:00
parent 204a70a438
commit 1027b905b5
2 changed files with 13 additions and 4 deletions

View File

@@ -87,7 +87,10 @@ async def rooms(request: Request) -> HTMLResponse:
Returns: Returns:
HTMLResponse: Rendered rooms template HTMLResponse: Rendered rooms template
""" """
return templates.TemplateResponse("rooms.html", {"request": request}) return templates.TemplateResponse("rooms.html", {
"request": request,
"api_base": API_BASE
})
@app.get("/dashboard", response_class=HTMLResponse) @app.get("/dashboard", response_class=HTMLResponse)

View File

@@ -147,7 +147,13 @@
</div> </div>
<script> <script>
const API_BASE = window.location.origin; // API configuration from backend
window.API_BASE = '{{ api_base }}';
// Helper function to construct API URLs
function api(url) {
return `${window.API_BASE}${url}`;
}
// Room icon mapping // Room icon mapping
const roomIcons = { const roomIcons = {
@@ -188,14 +194,14 @@
try { try {
// Load layout // Load layout
const layoutResponse = await fetch(`${API_BASE}/layout`); const layoutResponse = await fetch(api('/layout'));
if (!layoutResponse.ok) { if (!layoutResponse.ok) {
throw new Error(`Layout API error: ${layoutResponse.status}`); throw new Error(`Layout API error: ${layoutResponse.status}`);
} }
const layoutData = await layoutResponse.json(); const layoutData = await layoutResponse.json();
// Load devices for feature checks // Load devices for feature checks
const devicesResponse = await fetch(`${API_BASE}/devices`); const devicesResponse = await fetch(api('/devices'));
if (!devicesResponse.ok) { if (!devicesResponse.ok) {
throw new Error(`Devices API error: ${devicesResponse.status}`); throw new Error(`Devices API error: ${devicesResponse.status}`);
} }