28 lines
820 B
TypeScript
28 lines
820 B
TypeScript
import React from 'react'
|
|
import ReactDOM from 'react-dom/client'
|
|
import { BrowserRouter } from 'react-router-dom'
|
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
|
import App from './App'
|
|
import './index.css'
|
|
|
|
const qc = new QueryClient({
|
|
defaultOptions: { queries: { retry: 1, staleTime: 30_000 } },
|
|
})
|
|
|
|
|
|
if (new URLSearchParams(window.location.search).has('install')) {
|
|
window.addEventListener('beforeinstallprompt', e => {
|
|
e.preventDefault()
|
|
;(e as Event & { prompt: () => Promise<void> }).prompt()
|
|
}, { once: true })
|
|
}
|
|
|
|
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
<React.StrictMode>
|
|
<BrowserRouter basename="/forecasting">
|
|
<QueryClientProvider client={qc}>
|
|
<App />
|
|
</QueryClientProvider>
|
|
</BrowserRouter>
|
|
</React.StrictMode>,
|
|
)
|