dev #6
@@ -4,25 +4,38 @@ import App from "./App.jsx";
|
||||
import { applyTheme, DEFAULT_THEME_KEY } from "./styles/themes";
|
||||
import { registerSW } from "virtual:pwa-register";
|
||||
|
||||
// ✅ Theme VOR React setzen (kein Theme-Flash)
|
||||
try {
|
||||
async function bootstrap() {
|
||||
// ✅ Theme sofort setzen
|
||||
try {
|
||||
const key = localStorage.getItem("hpTheme:guest") || DEFAULT_THEME_KEY;
|
||||
applyTheme(key);
|
||||
} catch {
|
||||
} catch {
|
||||
applyTheme(DEFAULT_THEME_KEY);
|
||||
}
|
||||
}
|
||||
|
||||
// ✅ Preload Unlock (nach Theme!)
|
||||
document.body.classList.remove("preload");
|
||||
document.body.classList.add("ready");
|
||||
// ✅ Warten bis ALLE Fonts geladen sind
|
||||
try {
|
||||
if (document.fonts && document.fonts.ready) {
|
||||
await document.fonts.ready;
|
||||
}
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
|
||||
ReactDOM.createRoot(document.getElementById("root")).render(<App />);
|
||||
// ✅ Erst JETZT sichtbar machen
|
||||
document.body.classList.remove("preload");
|
||||
document.body.classList.add("ready");
|
||||
|
||||
// ✅ Service Worker NUR EINMAL registrieren
|
||||
const updateSW = registerSW({
|
||||
ReactDOM.createRoot(document.getElementById("root")).render(<App />);
|
||||
|
||||
// ✅ Service Worker – KEIN Auto-Reload mehr
|
||||
registerSW({
|
||||
immediate: true,
|
||||
onNeedRefresh() {
|
||||
updateSW(true);
|
||||
window.location.reload();
|
||||
console.info("Neue Version verfügbar – Reload manuell");
|
||||
// optional: später Toast „Update verfügbar“
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
bootstrap();
|
||||
|
||||
Reference in New Issue
Block a user