import Constants from 'expo-constants';

function detectLanHost() {
  const hostCandidates = [
    (Constants.expoConfig as { hostUri?: string } | null)?.hostUri,
    ((Constants as unknown as { manifest2?: { extra?: { expoClient?: { hostUri?: string } } } }).manifest2?.extra?.expoClient?.hostUri),
    ((Constants as unknown as { manifest?: { debuggerHost?: string } }).manifest?.debuggerHost),
  ];

  for (const candidate of hostCandidates) {
    if (!candidate) {
      continue;
    }

    const normalized = String(candidate).replace(/^https?:\/\//, '');
    const host = normalized.split(':')[0]?.trim();
    if (host) {
      return host;
    }
  }

  return '192.168.1.2';
}

const LOCAL_HOST = process.env.EXPO_PUBLIC_API_HOST ?? detectLanHost();

export const API_URL = process.env.EXPO_PUBLIC_API_URL ?? `http://${LOCAL_HOST}:3001/api`;

export const CUSTOMER_EMAIL = process.env.EXPO_PUBLIC_CUSTOMER_EMAIL ?? 'cliente@chego.app';
export const CUSTOMER_PASSWORD = process.env.EXPO_PUBLIC_CUSTOMER_PASSWORD ?? 'Admin@123';
