From 74989ad11757e6cc2767fe01bad3fe1f8266872a Mon Sep 17 00:00:00 2001 From: Alex Speaker Date: Tue, 14 Jul 2026 04:40:19 +0200 Subject: [PATCH] vers 2.6.1 --- css/style.css | 2 ++ data/changelog.xml | 10 ++++++++++ js/app.js | 16 ++++++++-------- sw.js | 7 ++++++- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/css/style.css b/css/style.css index 2e649eb..e4d6e5c 100644 --- a/css/style.css +++ b/css/style.css @@ -76,6 +76,8 @@ body { margin: 0; padding: 0; user-select: none; + -webkit-touch-callout: none; + -webkit-tap-highlight-color: transparent; } html, diff --git a/data/changelog.xml b/data/changelog.xml index 9f1bf61..061d4d0 100644 --- a/data/changelog.xml +++ b/data/changelog.xml @@ -2,6 +2,16 @@ + + 2.6.1 + + Ottimizzazione PWA: implementato il fallback offline completo e il caching dinamico, permettendo all'app di funzionare senza connessione internet su tutte le rotte dinamiche. + Stile e comportamento "Native App": impedita la selezione accidentale del testo e rimosso l'highlight tap dei browser su smartphone per migliorare l'UX. + Pulizia e alleggerimento del codice Javascript, rimuovendo il logging eccessivo di debug. + Correzione e bugfix di problematiche varie. + + + 2.6.0 diff --git a/js/app.js b/js/app.js index 9b3d634..a226e6a 100644 --- a/js/app.js +++ b/js/app.js @@ -41,12 +41,12 @@ document.addEventListener('DOMContentLoaded', function () { const redirect = urlParams.get('redirect'); if (redirect) { - console.log('📍 Trovato parametro redirect:', redirect); + // console.log('📍 Trovato parametro redirect:', redirect); return redirect; } } - console.log('📍 Path rilevato:', path || 'home'); + // console.log('📍 Path rilevato:', path || 'home'); return path || 'home'; } @@ -243,7 +243,7 @@ document.addEventListener('DOMContentLoaded', function () { * Aggiorna la navigazione attiva */ function updateActiveNavigation(page) { - console.log('Aggiornamento navigazione per pagina:', page); // Debug + // console.log('Aggiornamento navigazione per pagina:', page); // Debug const navLinks = document.querySelectorAll('.navLink'); navLinks.forEach(link => { @@ -252,20 +252,20 @@ document.addEventListener('DOMContentLoaded', function () { const linkPage = link.getAttribute('data-page'); // Log di debug per vedere i confronti - console.log('Confronto:', linkPage, 'con', page); + // console.log('Confronto:', linkPage, 'con', page); if (linkPage === page) { link.classList.add('active'); - console.log('✓ Match esatto:', linkPage); + // console.log('✓ Match esatto:', linkPage); } else if (page.startsWith('play/') && linkPage === 'radio') { link.classList.add('active'); - console.log('✓ Match play/ -> radio'); + // console.log('✓ Match play/ -> radio'); } else if (page.startsWith('playtv/') && linkPage === 'tv') { link.classList.add('active'); - console.log('✓ Match playtv/ -> tv'); + // console.log('✓ Match playtv/ -> tv'); } else if (page.startsWith('page/') && linkPage === page) { link.classList.add('active'); - console.log('✓ Match page/'); + // console.log('✓ Match page/'); } }); } diff --git a/sw.js b/sw.js index ecb4c91..7eb00f4 100644 --- a/sw.js +++ b/sw.js @@ -1,4 +1,4 @@ -const CACHE_NAME = 'rpigroupplay-v2'; +const CACHE_NAME = 'rpigroupplay-v3'; const ASSETS = [ './', './index.php', @@ -93,6 +93,11 @@ self.addEventListener('fetch', (e) => { }); } return response; + }).catch(() => { + // Fallback offline: restituiamo l'app shell se l'utente sta navigando + if (e.request.mode === 'navigate') { + return caches.match('./index.php'); + } }); }) );