// src/constants/env.js /** * Helper to read environment variables from Vite (import.meta.env). * Try beberapa nama kunci agar kompatibel dengan variasi prefix (VITE_APP_* atau VITE_*). */ const getEnv = (...keys) => { for (const k of keys) { // import.meta.env is populated by Vite at build time if (typeof import.meta !== 'undefined' && import.meta.env && import.meta.env[k] !== undefined) { return import.meta.env[k]; } } return undefined; }; export const BASE_URLS = { OSLOG_HITA: getEnv('VITE_APP_BASE_URL_OSLOG_HITA', 'VITE_BASE_URL_OSLOG_HITA', 'VITE_BASE_URL_OSLOG_HITA') || '', EMBED_MONITORING_VEHICLE: getEnv('VITE_APP_BASE_URL_EMBED_MONITORING_VEHICLE', 'VITE_BASE_URL_EMBED_MONITORING_VEHICLE') || '', EMBED_MONITORING_DISPATCH: getEnv('VITE_APP_BASE_URL_EMBED_MONITORING_DISPATCH', 'VITE_BASE_URL_EMBED_MONITORING_DISPATCH') || '', MAPS_MONITORING: getEnv('VITE_APP_BASE_URL_MAPS_MONITORING', 'VITE_BASE_URL_MAPS_MONITORING') || '', API2: getEnv('VITE_APP_BASE_URL_API2', 'VITE_BASE_URL_API2') || '', OSMAP: getEnv('VITE_APP_BASE_URL_OSMAP', 'VITE_BASE_URL_OSMAP') || '' }; export const API_BASES = { OSLOG_API: getEnv('VITE_APP_BASE_URL_OSLOG_API', 'VITE_BASE_URL_OSLOG_API') || '', API_GO: getEnv('VITE_APP_BASE_URL_API_GO', 'VITE_BASE_URL_API_GO') || '', APIV4: getEnv('VITE_APP_BASE_URL_APIV4', 'VITE_BASE_URL_APIV4') || '', ADDRESS: getEnv('VITE_APP_BASE_URL_ADDRESS', 'VITE_BASE_URL_ADDRESS') || '', API_AMARIS: getEnv('VITE_APP_BASE_URL_API_AMARIS', 'VITE_BASE_URL_API_AMARIS') || '', API_NOMINATIM: getEnv('VITE_APP_BASE_URL_API_NOMINATIM', 'VITE_BASE_URL_API_NOMINATIM') || '', API_NOMINATIM_CUSTOM_MAP: getEnv('VITE_APP_BASE_URL_API_NOMINATIM_CUSTOM_MAP', 'VITE_BASE_URL_API_NOMINATIM_CUSTOM_MAP') || '', API_PHP: getEnv('VITE_APP_BASE_URL_API_PHP', 'VITE_BASE_URL_API_PHP') || '', DASHBOARD_API_OSLOG_PRO: getEnv('VITE_APP_BASE_URL_DASHBOARD_API_OSLOG_PRO', 'VITE_BASE_URL_DASHBOARD_API_OSLOG_PRO') || '', VSS: getEnv('VITE_APP_BASE_URL_VSS', 'VITE_BASE_URL_VSS') || '', HOWEN_API: getEnv('VITE_APP_BASE_URL_HOWEN_API', 'VITE_BASE_URL_HOWEN_API') || '' }; export const SPACES = { OSLOG_SPACES: getEnv('VITE_APP_BASE_URL_OSLOG_SPACES', 'VITE_BASE_URL_OSLOG_SPACES') || '', OSLOG_TEMPLATES: getEnv('VITE_APP_BASE_URL_OSLOG_TEMPLATES', 'VITE_BASE_URL_OSLOG_TEMPLATES') || '', OSLOG_ROUTING_SHIPMENT: getEnv('VITE_APP_BASE_URL_OSLOG_ROUTING_SHIPMENT', 'VITE_BASE_URL_OSLOG_ROUTING_SHIPMENT') || '' }; // COMPANY_ID: parse ke number jika memungkinkan, otherwise undefined const _companyId = getEnv('VITE_APP_COMPANY_ID', 'VITE_COMPANY_ID') ?? undefined; export const COMPANY_ID = _companyId !== undefined && _companyId !== '' ? (Number.isNaN(Number(_companyId)) ? undefined : Number(_companyId)) : undefined; // API token (client-side). CAUTION: tokens here are public in the browser. export const API_TOKEN = getEnv('VITE_APP_API_TOKEN', 'VITE_API_TOKEN') || ''; // Debug mode (boolean) const _debugRaw = getEnv('VITE_APP_DEBUG_MODE', 'VITE_DEBUG_MODE', 'VITE_DEBUG_MODE') ?? ''; export const DEBUG_MODE = String(_debugRaw).toLowerCase() === 'true'; // API keys (here map etc.) export const API_KEYS = { HERE_MAP: getEnv('VITE_APP_APIKEY_HERE_MAP', 'VITE_APIKEY_HERE_MAP', 'VITE_APP_APIKEY_HERE_MAP') || '' };