- Hero 섹션: 서버 만들기 버튼 → AI와 대화하기 버튼으로 변경 - Hero 섹션: 핑 위젯 제거 - 텔레그램 데모: 위자드 흐름(용도→기술스택→규모→추천)을 자연스러운 대화체로 변경 - 위자드 모달 전체 제거 - 네이버 Search Advisor 인증 파일 추가 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
/**
|
|
* 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');
|