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:
@@ -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
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user