/**
 * 应用入口
 *
 * 组装：
 * - i18n 初始化
 * - QueryClientProvider
 * - RouterProvider
 * - ToastProvider
 * - 启动时恢复管理员会话（fetchMe）
 */
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import { RouterProvider } from '@tanstack/react-router';
import { QueryClientProvider } from '@tanstack/react-query';
import { ToastProvider } from '@ai-relay/frontend-shared/hooks';
import './i18n.js';
import './index.css';
import { router } from './router.js';
import { queryClient } from './lib/queryClient.js';
import { authStore } from './store/useAuthStore.js';

// 启动恢复会话（有 token 时尝试拉取 me）
void authStore.fetchMe();

const container = document.getElementById('root');
if (!container) {
  throw new Error('Root element #root not found');
}

createRoot(container).render(
  <StrictMode>
    <QueryClientProvider client={queryClient}>
      <ToastProvider>
        <RouterProvider router={router} />
      </ToastProvider>
    </QueryClientProvider>
  </StrictMode>,
);
