/** * Configuration for KSTools License & Version Manager * Loads dual Supabase configuration from backend API */ // 應用程式配置(從 API 動態載入) window.APP_CONFIG = { // 應用程式資訊 APP_NAME: 'KSTools License & Version Manager', VERSION: '2.1.0', // 授權系統 Supabase 配置 (Project 1) SUPABASE_LICENSE_URL: null, SUPABASE_LICENSE_ANON_KEY: null, // 版本系統 Supabase 配置 (Project 2) SUPABASE_VERSION_URL: null, SUPABASE_VERSION_ANON_KEY: null, // 載入狀態 CONFIG_LOADED: false }; // 簡單直接的配置載入 async function loadConfig() { try { // 檢測是否為本機開發環境 const isLocalDev = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1'; console.log('🔄 Loading dual Supabase config...'); const response = await fetch('/api/frontend-config'); if (response.ok) { const config = await response.json(); window.APP_CONFIG = { ...window.APP_CONFIG, ...config }; window.APP_CONFIG.CONFIG_LOADED = true; console.log('✅ Config loaded:', { hasLicenseUrl: !!config.SUPABASE_LICENSE_URL, hasLicenseKey: !!config.SUPABASE_LICENSE_ANON_KEY, hasVersionUrl: !!config.SUPABASE_VERSION_URL, hasVersionKey: !!config.SUPABASE_VERSION_ANON_KEY }); // 發送配置載入完成事件 window.dispatchEvent(new CustomEvent('configLoaded', { detail: config })); } else { // 只在本機開發環境允許沒有配置 if (isLocalDev) { console.warn('⚠️ Config load failed - using dev mode'); window.APP_CONFIG.CONFIG_LOADED = true; window.dispatchEvent(new CustomEvent('configLoaded', { detail: {} })); } else { console.error('❌ Config load failed in production'); window.APP_CONFIG.CONFIG_LOADED = false; } } } catch (error) { // 檢測是否為本機開發環境 const isLocalDev = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1'; // 只在本機開發環境允許沒有配置 if (isLocalDev) { console.error('❌ Config error - using dev mode:', error); window.APP_CONFIG.CONFIG_LOADED = true; window.dispatchEvent(new CustomEvent('configLoaded', { detail: {} })); } else { console.error('❌ Config error in production:', error); window.APP_CONFIG.CONFIG_LOADED = false; } } } // 立即載入配置 loadConfig();