Files
multi-simadmin/apps/web/src/main.tsx
T

32 lines
891 B
TypeScript

import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import 'animal-island-ui/style';
import { ConsoleAuthGate } from './auth/console-auth.js';
import { AppShell, resolveRoute } from './app-shell.js';
import { useBrowserPathname } from './navigation/use-browser-pathname.js';
import './styles.css';
const root = document.querySelector<HTMLElement>('#root');
if (!root) throw new Error('Missing application root');
function resolveBrowserPathname(pathname: string): string {
const route = resolveRoute(pathname);
return route.kind === 'redirect' ? (route.to ?? pathname) : pathname;
}
function BrowserApp() {
const pathname = useBrowserPathname(resolveBrowserPathname);
return (
<ConsoleAuthGate>
<AppShell pathname={pathname} />
</ConsoleAuthGate>
);
}
createRoot(root).render(
<StrictMode>
<BrowserApp />
</StrictMode>,
);