import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import App from './App.tsx'
import { ErrorBoundary } from './components/ErrorBoundary'
import { preloadRhymeIndex } from './lib/phonetics/rhymeIndex'
import { applyTheme } from './storage/themeStore'

// Motyw (dark/light) ustawiany jak najwcześniej, przed pierwszym renderem,
// żeby uniknąć "mignięcia" złego motywu przy starcie appki.
applyTheme()

// Baza rymów (~4 MB) ładuje się w tle od razu przy starcie appki, żeby była
// gotowa zanim ktoś zdąży cokolwiek zaznaczyć w edytorze. Błąd tu nie ma
// blokować renderu — SectionEditor po prostu pokaże brak trafień lokalnych,
// AI-sugestie działają niezależnie.
preloadRhymeIndex().catch((err) => {
  console.error('Nie udało się wczytać bazy rymów:', err)
})

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