You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.2 KiB
49 lines
1.2 KiB
import './i18n' |
|
import './index.css' |
|
import './polyfill' |
|
import './services/lightning.service' |
|
import './lib/error-suppression' |
|
import './lib/debug-utils' |
|
|
|
import { StrictMode } from 'react' |
|
import { createRoot } from 'react-dom/client' |
|
import App from './App.tsx' |
|
import { ErrorBoundary } from './components/ErrorBoundary.tsx' |
|
import { publishMonitorAnnouncementOnce } from './services/nip66-monitor' |
|
import storage from './services/local-storage.service' |
|
|
|
declare global { |
|
interface Window { |
|
__RUNTIME_CONFIG__?: { NIP66_MONITOR_NPUB?: string } |
|
} |
|
} |
|
|
|
const setVh = () => { |
|
document.documentElement.style.setProperty('--vh', `${window.innerHeight}px`) |
|
} |
|
window.addEventListener('resize', setVh) |
|
window.addEventListener('orientationchange', setVh) |
|
setVh() |
|
|
|
async function bootstrap() { |
|
try { |
|
const r = await fetch('/config.json') |
|
if (r.ok) { |
|
const config = (await r.json()) as { NIP66_MONITOR_NPUB?: string } |
|
window.__RUNTIME_CONFIG__ = config |
|
} |
|
} catch { |
|
window.__RUNTIME_CONFIG__ = {} |
|
} |
|
await storage.initAsync() |
|
publishMonitorAnnouncementOnce() |
|
createRoot(document.getElementById('root')!).render( |
|
<StrictMode> |
|
<ErrorBoundary> |
|
<App /> |
|
</ErrorBoundary> |
|
</StrictMode> |
|
) |
|
} |
|
|
|
bootstrap()
|
|
|