Files
beenvoice-app/lib/config.ts
T
soconnorandCursor 6762a9bff3 Move production to beenvoice.app with migrated accounts, refreshed auth and timer UX, and expanded invoice flows.
Official URL migration preserves sessions, shortcuts prefs, and last clock-in client; auth screens match web with legal links; time clock and invoice editor/send flows are updated for the new domain and UI patterns.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 03:40:48 -04:00

34 lines
1000 B
TypeScript

import Constants from "expo-constants";
/** Production API used by default (App Store review + production builds). */
export const DEFAULT_API_URL = "https://beenvoice.app";
export const OFFICIAL_SERVER_HOST = new URL(DEFAULT_API_URL).host;
export const OFFICIAL_SERVER_PLACEHOLDER = `${OFFICIAL_SERVER_HOST} or localhost:3000`;
export function invalidServerUrlMessage(): string {
return `Enter a valid server URL (e.g. ${OFFICIAL_SERVER_PLACEHOLDER})`;
}
let runtimeOverride: string | null = null;
export function setRuntimeApiUrl(url: string | null) {
runtimeOverride = url?.replace(/\/$/, "") ?? null;
}
export function getApiUrl() {
if (runtimeOverride) return runtimeOverride;
const fromEnv = process.env.EXPO_PUBLIC_API_URL?.trim();
if (fromEnv) return fromEnv.replace(/\/$/, "");
const hostUri = Constants.expoConfig?.hostUri;
if (hostUri && __DEV__) {
const host = hostUri.split(":")[0];
if (host) return `http://${host}:3000`;
}
return DEFAULT_API_URL;
}