, preventing the module script
// from loading stale chunks. On reload, no SW = normal boot.
(function() {
if (navigator.serviceWorker && navigator.serviceWorker.controller) {
Promise.all([
navigator.serviceWorker.getRegistrations().then(function(regs) {
return Promise.all(regs.map(function(r) { return r.unregister(); }));
}),
caches ? caches.keys().then(function(names) {
return Promise.all(names.map(function(n) { return caches.delete(n); }));
}) : Promise.resolve()
]).then(function() {
window.location.reload();
});
// Comment out the rest of the HTML so the module script never loads.
// Use JS escape to avoid Vite's HTML parser choking on the literal.
document.write('\x3C!--');
return;
}
// No SW controlling — still clean up any registered-but-inactive SWs
if (navigator.serviceWorker) {
navigator.serviceWorker.getRegistrations().then(function(regs) {
regs.forEach(function(r) { r.unregister(); });
});
}
if (caches) {
caches.keys().then(function(names) {
names.forEach(function(n) { caches.delete(n); });
});
}
})();
// Set dark mode before React loads to prevent flash
(function() {
var theme = localStorage.getItem('theme-v2-violet') || 'dark';
var resolved = theme;
if (theme === 'system') {
resolved = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
document.documentElement.classList.remove('light', 'dark');
document.documentElement.classList.add(resolved);
})();