/** * Anvil Hosting - Main Application JavaScript * 메인 통합 모듈 (ES6 모듈 방식) */ // 모듈 임포트 import { TELEGRAM_BOT_URL, PRICING_DATA, MOCK_SERVERS, MOCK_STATS, MOCK_NOTIFICATIONS } from './config.js'; import { API_CONFIG, ApiService } from './api.js'; import { formatPrice, switchTab } from './utils.js'; import { createDashboardMethods } from './dashboard.js'; import { pricingTable } from './pricing.js'; /** * Alpine.js 메인 앱 데이터 - 대시보드 */ function anvilApp() { const dashboardMethods = createDashboardMethods(); return { ...dashboardMethods }; } // 전역 함수로 노출 (Alpine.js x-data에서 사용) window.anvilApp = anvilApp; window.pricingTable = pricingTable; // 전역 텔레그램 로그인 콜백 (웹 로그인 위젯용) window.onTelegramAuth = function(user) { // Alpine 인스턴스 찾기 const appElement = document.querySelector('[x-data="anvilApp()"]'); if (appElement && appElement._x_dataStack) { const appData = appElement._x_dataStack[0]; if (appData.handleWebLogin) { appData.handleWebLogin(user); } } }; // 개발 도구 (콘솔에서 사용 가능) window.AnvilDevTools = { config: { TELEGRAM_BOT_URL, PRICING_DATA }, api: ApiService, utils: { formatPrice, switchTab } }; console.log('[Anvil] Application modules loaded'); console.log('[Anvil] DevTools available at window.AnvilDevTools');