main.tsx raw
1 import './i18n'
2 import './index.css'
3 import './polyfill'
4 import './services/lightning.service'
5
6 import { StrictMode } from 'react'
7 import { createRoot } from 'react-dom/client'
8 import App from './App.tsx'
9 import { ErrorBoundary } from './components/ErrorBoundary.tsx'
10
11 const setVh = () => {
12 // Prefer visualViewport for accurate height when mobile keyboard is open
13 const height = window.visualViewport?.height ?? window.innerHeight
14 document.documentElement.style.setProperty('--vh', `${height}px`)
15 }
16 if (window.visualViewport) {
17 window.visualViewport.addEventListener('resize', setVh)
18 } else {
19 window.addEventListener('resize', setVh)
20 }
21 window.addEventListener('orientationchange', setVh)
22 setVh()
23
24 createRoot(document.getElementById('root')!).render(
25 <StrictMode>
26 <ErrorBoundary>
27 <App />
28 </ErrorBoundary>
29 </StrictMode>
30 )
31