import App from './App.svelte' // ===== Global frontend error diagnostics ===== // These catch runtime errors that would otherwise cause a silent blank window. window.addEventListener('error', (event) => { const msg = event.error ? String(event.error) : event.message const stack = event.error && event.error.stack ? event.error.stack : '' console.error('[Frontend Error]', msg, stack) try { if (window['go'] && window['go']['main'] && window['go']['main']['App'] && typeof window['go']['main']['App']['FrontendLog'] === 'function') { window['go']['main']['App']['FrontendLog']('error', msg, stack) } } catch (e) { // Backend not ready — ignore } }) window.addEventListener('unhandledrejection', (event) => { const reason = event.reason const msg = reason instanceof Error ? String(reason) : JSON.stringify(reason) const stack = reason instanceof Error && reason.stack ? reason.stack : '' console.error('[Unhandled Promise Rejection]', msg, stack) try { if (window['go'] && window['go']['main'] && window['go']['main']['App'] && typeof window['go']['main']['App']['FrontendLog'] === 'function') { window['go']['main']['App']['FrontendLog']('error', 'Unhandled rejection: ' + msg, stack) } } catch (e) { // Backend not ready — ignore } }) // Mount App with error fallback try { new App({ target: document.getElementById('app') }) } catch (e) { console.error('[Fatal] App mount failed:', e) const el = document.getElementById('app') if (el) { el.innerHTML = '
' + '

Frontend Runtime Error

' + '

' + String(e) + '

' + (e.stack ? '
' + e.stack + '
' : '') + '
' } }