- Aggiunto il parsing di lista_nome e lista_esecuzione dall'API parrocchiale in ComunitaService.
- Le scalette vengono trasformate in ComunitaScaletta[] e persistite in localStorage.
- PlaylistService espone comunitaPlaylists (computed) e allPlaylists (computed che unisce playlist personali e scalette comunità).
- Le scalette della comunità appaiono nel dropdown Playlist SOLO quando il filtro comunità è attivo; scompaiono automaticamente alla disattivazione.
- Le scalette sono read-only: i pulsanti Modifica e Elimina vengono nascosti per le playlist della comunità.
- Icona people-outline e bordo sinistro secondario distinguono visivamente le scalette della comunità dalle playlist personali.
- Il background refresh al riavvio ora non riattiva il filtro comunità se comunitaEnabled è false nelle impostazioni, evitando di restringere silenziosamente il bacino dei canti.
- Invertita la logica di deduplicazione: in caso di canto duplicato (validato + non validato), ora vince la versione validata (ufficiale del catalogo).
- In HomePage, dopo il filtro per comunità, viene applicata una deduplicazione basata sull'id_canti: se lo stesso canto esiste sia nella lista globale (validato) sia in quella parrocchiale (non validato), viene mantenuto solo quello non validato.
- In HomePage.findCanto(), Player, Display e Playlist: quando il filtro comunità è attivo, la ricerca di un canto per ID dà precedenza alla lista comunitaCantiPersonali rispetto al catalogo globale.
- In PlaylistPage: aggiunta gestione completa delle sorgenti (global, my-canti, canti personali comunità) con stesso ordine di priorità.
- Aggiunta la variabile CONTACT_EMAIL nel file .env (con default 'info@canticristiani.it').
- Definito il parametro 'contactEmail' nei file di configurazione Angular environment.ts ed environment.prod.ts.
- Sostituito l'indirizzo frassidavid@gmail.com con la variabile d'ambiente in MyCantiService e nella pagina Settings.
- Implementato l'aggiornamento automatico della mail di contatto in fase di build in deploy_www.sh e deploy_ionic.sh.
- Rinomato deploy.sh in deploy_ionic.sh (per deploy su sottodirectory /ionic).
- Rinomato deploy_pwa.sh in deploy_localpwa.sh (per test locale).
- Creato deploy_www.sh per installare e fare la build della PWA direttamente sulla root del dominio (www.canticristiani.it) con base-href=/.
- Implementato il controllo immediato non appena l'applicazione Angular si stabilizza (isStable).
- Aggiunto il controllo reattivo al cambio di visibilità (document visibilityState === visible) quando la PWA viene riportata in primo piano/focalizzata.
- Mantendo il controllo periodico in background ogni 5 minuti.
- Definita la proprietà 'nonValidato' nell'interfaccia Canto.
- Impostato il flag 'nonValidato: true' sui canti mappati in ComunitaService.
- Creato e integrato il badge grafico rosso soft '.non-validato-badge' sia in HomePage (accanto al titolo del canto) sia in PlayerPage (nell'intestazione del brano), con supporto alla modalità ad alto contrasto.
- Recuperato il campo 'canti_personali' dalle tabelle dell'API parrocchiale.
- Mappato ed integrato il segnale 'comunitaCantiPersonali' in locale e salvato su localStorage.
- Permesso il caricamento e l'interrogazione corretta dei brani custom in HomePage, PlayerPage, DisplayPage, YoutubePlayerService e MediaSessionService.
- Risolto il disallineamento per cui la parrocchia 123456 mostrava 196 brani anziché 208.
- Aggiunto il caricamento reattivo del canto tramite un 'effect' in PlayerPage e DisplayPage.
- Ora l'applicazione attende che la lista asincrona dei canti sia popolata per caricare la canzone richiesta da URL.
- Aggiunto autoscroll standard con controllo velocità (V1-V10) e relativo toggle in settings.
- Implementata la visualizzazione opzionale di tag e data aggiornamento nella lista canti.
- Rinnovata la pagina 'Proponi Canto' con tastiera accordi (fondamentale + variazioni) e OCR spaziale potenziato per l'allineamento automatico degli accordi con il testo.
- Ottimizzata la persistenza della modalità schermo intero.