diff --git a/web/src/main.ts b/web/src/main.ts index 48f3e9d..338a4bf 100644 --- a/web/src/main.ts +++ b/web/src/main.ts @@ -74,11 +74,21 @@ function renderApp(): void { const main = h('main', { class: 'app-main' }) const rerender = (): void => renderApp() - switch (activeTab) { - case 'meteo': renderWeek(main, rerender); break - case 'radar': renderRadar(main, rerender); break - case 'bilan': renderJournal(main, rerender); break - case 'parametres': renderSettings(main, rerender); break + try { + switch (activeTab) { + case 'meteo': renderWeek(main, rerender); break + case 'radar': renderRadar(main, rerender); break + case 'bilan': renderJournal(main, rerender); break + case 'parametres': renderSettings(main, rerender); break + } + } catch (err) { + console.error('Render error:', activeTab, err) + main.replaceChildren( + h('div', { style: 'padding:20px;text-align:center' }, + h('p', { style: 'color:#FB7185;font-weight:700;font-size:14px' }, 'Erreur de rendu'), + h('p', { style: 'color:var(--muted);font-size:12px;margin-top:8px' }, String(err)), + ), + ) } // Bottom nav