Replace preload mechanism with splash screen

The preload class was replaced by a more user-friendly splash screen design. This change ensures a smoother transition while loading assets and eliminates black background flashes. The splash overlay is automatically hidden and removed after the app is ready, providing a seamless loading experience.
This commit is contained in:
2026-02-06 18:49:25 +01:00
parent e975d7aa25
commit 57cb9a57ef
2 changed files with 50 additions and 30 deletions

View File

@@ -13,27 +13,29 @@ async function bootstrap() {
applyTheme(DEFAULT_THEME_KEY);
}
// ✅ Warten bis ALLE Fonts geladen sind
// ✅ Fonts abwarten (kein Layout-Jump)
try {
if (document.fonts && document.fonts.ready) {
if (document.fonts?.ready) {
await document.fonts.ready;
}
} catch {
// ignore
}
// ✅ Erst JETZT sichtbar machen
document.body.classList.remove("preload");
document.body.classList.add("ready");
} catch {}
// React rendern
ReactDOM.createRoot(document.getElementById("root")).render(<App />);
// ✅ Service Worker KEIN Auto-Reload mehr
// ✅ Splash sauber ausblenden (KEIN Schwarz)
const splash = document.getElementById("app-splash");
if (splash) {
requestAnimationFrame(() => splash.classList.add("hide"));
setTimeout(() => splash.remove(), 220);
}
// ✅ Service Worker ohne Reload-Flash
registerSW({
immediate: true,
onNeedRefresh() {
console.info("Neue Version verfügbar Reload manuell");
// optional: später Toast „Update verfügbar“
console.info("Neue Version verfügbar");
// später Toast möglich
},
});
}