feat: add src/main.tsx

This commit is contained in:
Admin 2026-09-23 02:45:37 +00:00
parent b24219194f
commit bf185e9858

33
src/main.tsx Normal file
View File

@ -0,0 +1,33 @@
import React from 'react'
import ReactDOM from 'react-dom/client'
import { registerSW } from 'virtual:pwa-register'
import { App } from './App'
import './styles.css'
async function bootstrap() {
registerSW({ immediate: true })
const session = await fetch('/api/session', { headers: { Accept: 'application/json' } })
if (session.status === 401) {
window.location.assign('/auth/login')
return
}
if (!session.ok) throw new Error(`Session check failed: ${session.status}`)
const payload = await session.json()
ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<App user={payload.user} />
</React.StrictMode>
)
}
bootstrap().catch(error => {
document.body.innerHTML = `
<main style="font-family:system-ui;padding:24px;max-width:720px;margin:auto">
<h1>Template Studio</h1>
<p>Unable to start the application.</p>
<pre style="white-space:pre-wrap">${String(error)}</pre>
</main>
`
})