Files

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(() => {});
})();