import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import './index.css';
import { App } from './App.tsx';

// vite-plugin-pwa 가상 모듈 가져오기 및 등록 (오프라인 사용성 & 자동 업데이트 설정)
// @ts-ignore
import { registerSW } from 'virtual:pwa-register';

const updateSW = registerSW({
  onNeedRefresh() {
    if (confirm('ClassFesta의 최신 업데이트 파일이 제공되었습니다. 화면을 새로고침하여 앱을 갱신하시겠습니까?')) {
      updateSW(true);
    }
  },
  onOfflineReady() {
    console.log('ClassFesta: 오프라인 구동 및 설치가 모두 가능해졌습니다!');
  },
});

createRoot(document.getElementById('root')!).render(
  <StrictMode>
    <App />
  </StrictMode>
);
