Update available tag.

This commit is contained in:
Johnnybegood90
2026-03-13 21:39:34 +01:00
parent 8460771d20
commit 44f4eeaafe
7 changed files with 66 additions and 4 deletions
+38
View File
@@ -0,0 +1,38 @@
// ── UPDATE CHECKER ────────────────────────────────────────────────────────────
(async function checkForUpdate() {
try {
const [localRes, remoteRes] = await Promise.all([
fetch('version.json'),
fetch('https://api.github.com/repos/Johnnybegood90/GridTV/releases/latest')
]);
if (!localRes.ok || !remoteRes.ok) return;
const local = (await localRes.json()).version ?? '0.0.0';
const remote = (await remoteRes.json()).tag_name ?? '0.0.0';
const clean = v => v.replace(/^v/, '');
const toNum = v => v.split('.').map(Number);
const [lMaj, lMin, lPat] = toNum(clean(local));
const [rMaj, rMin, rPat] = toNum(clean(remote));
const hasUpdate =
rMaj > lMaj ||
(rMaj === lMaj && rMin > lMin) ||
(rMaj === lMaj && rMin === lMin && rPat > lPat);
if (!hasUpdate) return;
const badge = document.createElement('a');
badge.className = 'update-badge';
badge.href = `https://github.com/Johnnybegood90/GridTV/releases/latest`;
badge.target = '_blank';
badge.rel = 'noopener';
badge.textContent = `${L.update_available} ${clean(remote)}`;
badge.title = L.update_title;
document.querySelector('.topbar')?.appendChild(badge);
} catch (_) {
// Silencieux — pas de connexion ou rate limit GitHub
}
})();