Commit Graph

17 Commits

Author SHA1 Message Date
David Frassi d82d56a3cc fix: correzione installabilità PWA e integrazione prompt installazione nativo
- Cambiate le proprietà 'scope' e 'start_url' in manifest.webmanifest a valori relativi ('./') al posto di un valore hardcoded '/ionic/'. Questo risolve il problema di installazione quando l'app viene pubblicata in directory diverse (es. root '/' vs sotto-cartella '/ionic/').
- Aggiunto il tracciamento del prompt di installazione nativo tramite l'evento 'beforeinstallprompt' nel SettingsService.
- Aggiunta la rilevazione dello stato standalone (app già installata) e del sistema operativo iOS.
- Inserita una sezione premium dedicata all'installazione nelle Impostazioni:
  * Su Android/Chrome: mostra un pulsante 'Installa' quando il browser conferma l'installabilità.
  * Su iOS (iPhone/iPad): mostra una guida collassabile con le istruzioni per installare l'app manualmente da Safari ('Condividi' -> 'Aggiungi alla schermata Home').
2026-05-20 16:51:24 +02:00
David Frassi e18c1c120b feat: integrazione scalette comunità come playlist
- 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.
2026-05-20 16:17:34 +02:00
David Frassi 8c9f9df11c fix: correzione filtro comunità al riavvio e priorità deduplicazione invertita
- 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).
2026-05-20 16:09:30 +02:00
David Frassi 98fc5e9c97 feat: deduplicazione lista canti comunità con precedenza al canto non validato
- 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à.
2026-05-20 13:01:09 +02:00
David Frassi 89b7ac50e3 feat: parametrizzata l'email di contatto tramite il file .env
- 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.
2026-05-20 12:37:19 +02:00
David Frassi a4cd56d406 chore: riorganizzati gli script di deploy e aggiunto deploy_www.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=/.
2026-05-20 12:33:08 +02:00
David Frassi 92325df48b feat: implementata la doppia numerazione uniforme nel Player e il caricamento silente dei canti personalizzati 2026-05-20 12:27:10 +02:00
David Frassi 2a150d481a perf: ottimizzato il controllo degli aggiornamenti PWA all'avvio e al ripristino dell'app
- 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.
2026-05-20 12:18:00 +02:00
David Frassi 0bcf5c5de7 feat: aggiunta etichetta 'Non Validato' per i canti personalizzati della comunità
- 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.
2026-05-20 12:15:50 +02:00
David Frassi 19993a0051 feat: integrato il supporto ai canti personalizzati (non validati) della parrocchia
- 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.
2026-05-20 12:11:05 +02:00
David Frassi d83a5db65a fix: risolto accesso diretto ai singoli canti tramite URL e queryParams
- 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.
2026-05-20 11:28:22 +02:00
David Frassi 21c9c206e1 feat: autoscroll standard, visualizzazione tag/date e OCR spaziale avanzato
- 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.
2026-05-20 11:26:59 +02:00
David Frassi af12a1f2da gestione comunità 2026-05-18 16:07:37 +02:00
David Frassi 961b7ba65c Refactor: Restringimento drag & drop, legenda impostazioni, modalità offline e rimozione sezione liturgia 2026-05-18 01:36:18 +02:00
David Frassi 9982441c3c Integrazione Liturgia: accordioni, navigazione date, proxy CORS, alto contrasto e piano AI 2026-05-16 18:50:15 +02:00
David Frassi ff992daa58 docs: aggiunto README.md con istruzioni 2026-05-16 17:26:46 +02:00
David Frassi 0c33fc6fcf canti primo tag 2026-05-16 17:24:59 +02:00