Spaces:
Running
Running
| /** | |
| * Centralised API base URL resolver — Docker/HF Spaces deployment. | |
| * | |
| * In Docker, frontend and backend share the same origin (port 3900), | |
| * so we simply use window.location.origin for everything. | |
| */ | |
| declare global { | |
| interface Window { | |
| __TAURI_INTERNALS__?: unknown; | |
| __TAURI__?: unknown; | |
| } | |
| } | |
| export const BACKEND_PORT = 3900; | |
| export function isTauriContext(): boolean { | |
| return ( | |
| typeof window !== "undefined" && | |
| !!(window.__TAURI_INTERNALS__ || window.__TAURI__) | |
| ); | |
| } | |
| export function getApiBase(): string { | |
| // Docker/HF Spaces: same-origin serving | |
| if (typeof window !== "undefined" && window.location) { | |
| return window.location.origin; | |
| } | |
| return `http://localhost:${BACKEND_PORT}`; | |
| } | |
| function stripTrailingSlash(url: string): string { | |
| return url.endsWith("/") ? url.slice(0, -1) : url; | |
| } | |
| export const API_BASE: string = getApiBase(); | |
| export default API_BASE; | |