29 lines
949 B
JavaScript
29 lines
949 B
JavaScript
// Auto cache-busting: detects version changes and forces reload
|
|
(function() {
|
|
fetch('/api/version')
|
|
.then(res => res.json())
|
|
.then(({ version }) => {
|
|
const storedVersion = localStorage.getItem('app_version');
|
|
|
|
// Version changed → force hard reload
|
|
if (storedVersion && storedVersion !== version) {
|
|
localStorage.setItem('app_version', version);
|
|
// Clear caches if available
|
|
if ('caches' in window) {
|
|
caches.keys().then(names => names.forEach(name => caches.delete(name)));
|
|
}
|
|
window.location.reload(true);
|
|
return;
|
|
}
|
|
|
|
// Store current version
|
|
localStorage.setItem('app_version', version);
|
|
|
|
// Update footer
|
|
const year = new Date().getFullYear();
|
|
document.querySelectorAll('.app-footer-text').forEach(el => {
|
|
el.textContent = `Ticket System by Honey v${version} © ${year}`;
|
|
});
|
|
})
|
|
.catch(() => {});
|
|
})(); |