import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { Toaster } from 'sonner'

import './index.css'
import App from './App.tsx'
import { ThemeProvider } from '@viip-cotacoes/viip-ui/components/theme-provider'
import { initAuth } from '@/services/init-auth.service'
import { initAppCheck } from '@/services/app-check'

const queryClient = new QueryClient()

// Inicializa o App Check antes de montar a árvore (inerte se VITE_APPCHECK_SITE_KEY não estiver setado).
initAppCheck()

initAuth().then(() => {
    createRoot(document.getElementById('root')!).render(
        <StrictMode>
            <QueryClientProvider client={queryClient}>
                <ThemeProvider>
                    <App />
                    <Toaster richColors position="top-right" />
                </ThemeProvider>
            </QueryClientProvider>
        </StrictMode>
    )
})
