Files
goodbuddy/src/renderer/src/main.tsx
T

55 lines
1.2 KiB
TypeScript

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import '@fontsource-variable/noto-sans-sc/wght.css'
import App from './App'
import { installBundledUiFonts } from './fonts'
import { changeUiLocale } from './i18n'
import {
UiLocaleProvider
} from './i18n/UiLocaleProvider'
import {
loadUiLocalePreference,
resolveUiLocale,
systemUiLanguages
} from './i18n/locale'
import {
applyAppearanceTheme,
loadAppearanceTheme,
resolveAppearanceTheme
} from './theme'
import './styles.css'
const root = document.getElementById('root')
if (!root) {
throw new Error('Root element not found')
}
installBundledUiFonts()
const initialUiLocalePreference = loadUiLocalePreference()
void changeUiLocale(
resolveUiLocale(
initialUiLocalePreference,
systemUiLanguages()
)
)
applyAppearanceTheme(
resolveAppearanceTheme(
loadAppearanceTheme(),
typeof window.matchMedia === 'function' &&
window.matchMedia('(prefers-color-scheme: dark)').matches
)
)
createRoot(root).render(
<StrictMode>
<UiLocaleProvider
initialPreference={initialUiLocalePreference}
>
<App />
</UiLocaleProvider>
</StrictMode>
)