Rhys Sullivanadd desktop app (#778)19c893c6 months agoHistory
41 lines · 1.1 KB · TypeScript
RawDownload
interface ExecutorWindowConfig {  readonly baseUrl?: string;  readonly authPassword?: string;} declare global {  interface Window {    readonly executor?: ExecutorWindowConfig;  }} const DEFAULT_BASE_URL = "http://127.0.0.1:4000"; const resolveInitialBaseUrl = (): string => {  if (typeof window === "undefined") {    return `${DEFAULT_BASE_URL}/api`;  }  const electronBaseUrl = window.executor?.baseUrl;  if (electronBaseUrl) {    // Electron sidecar exposes the localhost server origin (no /api suffix).    // Append /api to match the on-disk routing layout.    return electronBaseUrl.replace(/\/$/, "") + "/api";  }  if (typeof window.location?.origin === "string") {    return `${window.location.origin}/api`;  }  return `${DEFAULT_BASE_URL}/api`;}; let baseUrl = resolveInitialBaseUrl(); export const getBaseUrl = (): string => baseUrl; export const setBaseUrl = (url: string): void => {  baseUrl = url;}; export const getAuthPassword = (): string | null => {  if (typeof window === "undefined") return null;  return window.executor?.authPassword ?? null;};