modificato deploy verso contabo

This commit is contained in:
David Frassi
2026-06-17 01:04:27 +02:00
parent 2d23dcae83
commit 97a11d5074
24 changed files with 1063 additions and 64 deletions
+54
View File
@@ -0,0 +1,54 @@
# Piano di Implementazione: Importazione Playlist e Canti della Comunità
Questo piano descrive i dettagli tecnici per l'aggiunta di una funzione che consente di importare localmente tutte le playlist e i canti personalizzati di una comunità attiva.
## User Review Required
> [!IMPORTANT]
> L'importazione comporterà il salvataggio dei canti personalizzati della comunità direttamente nei "Miei Canti" dell'utente (evitando duplicati) e la creazione di playlist locali. Le playlist locali create includeranno:
> 1. Una playlist principale con il nome della comunità stessa contenente tutti i canti della comunità con le rispettive tonalità, velocità di scorrimento e testi personalizzati/aggiuntivi.
> 2. Tutte le singole scalette/playlist della comunità importate come playlist locali indipendenti e modificabili.
## Proposed Changes
### Servizi e Logica di Business
#### [MODIFY] [playlist.service.ts](file:///Users/davidfrassi/SRC/agenti/canti/src/app/services/playlist.service.ts)
Aggiungeremo un metodo helper o esporremo le funzioni di salvataggio di massa per le playlist importate, garantendo che le impostazioni dei brani (`songSettings` contenenti tonalità e velocità di scorrimento) siano preservate correttamente.
### Pagina Impostazioni (Settings Page)
#### [MODIFY] [settings.page.html](file:///Users/davidfrassi/SRC/agenti/canti/src/app/pages/settings/settings.page.html)
Nel gruppo "Comunità", quando una comunità è attiva, aggiungeremo un nuovo pulsante sotto i dettagli della comunità:
- **Pulsante**: "Importa Playlist e Canti" con icona `cloud-download-outline`.
#### [MODIFY] [settings.page.ts](file:///Users/davidfrassi/SRC/agenti/canti/src/app/pages/settings/settings.page.ts)
Implementeremo il metodo `importComunitaPlaylists()` che svolgerà i seguenti passaggi:
1. **Verifica dello Stato**: Si assicura che una comunità sia attiva e che i dati siano caricati.
2. **Importazione dei Canti Personalizzati**:
- Scorrerà i canti di `comunitaService.comunitaCantiPersonali()`.
- Per ciascun canto, verificherà se è già presente nei "Miei Canti" (tramite `myCantiService.myCanti()`).
- Se assente, lo aggiungerà con prefisso ID `my_` ed effettuerà il salvataggio in locale su `MyCantiService`.
3. **Creazione della Playlist della Comunità**:
- Creerà una playlist avente come nome il nome della comunità stessa.
- Popolerà i canti associando sia i canti standard sia i canti personali importati.
- Assocerà le impostazioni di tonalità e velocità di scorrimento da `comunitaCantiSettings()`. Per la velocità, si utilizzerà la formula di conversione standard (es. `Math.round(speed / 100)`).
4. **Importazione delle Scalette (Playlist) Aggiuntive**:
- Per ciascuna scaletta in `comunitaService.comunitaScalette()`, creerà una playlist locale corrispondente.
- Per ciascun canto della scaletta, cercherà se esiste un'impostazione in `comunitaCantiSettings()` per impostare tonalità e velocità specifiche all'interno della playlist.
5. **Salvataggio e Feedback**:
- Salverà tutte le nuove playlist tramite `playlistService.savePlaylist()`.
- Mostrerà un alert di conferma iniziale e un toast di successo finale.
## Verification Plan
### Manual Verification
- Attivare una comunità di prova (es. con codice noto o inserendone uno valido).
- Andare nelle impostazioni e cliccare sul nuovo pulsante "Importa Playlist e Canti".
- Verificare la comparsa dell'alert di conferma.
- Confermare l'importazione.
- Verificare tramite Toast e navigando nella home che:
- Sia presente una playlist locale con il nome della comunità contenente tutti i canti ordinati e configurati.
- Siano presenti le playlist secondarie della comunità convertite in playlist locali.
- Le tonalità modificate e le velocità di scorrimento siano state importate correttamente per ciascun canto all'interno delle playlist.
- I canti personali/aggiuntivi siano stati importati nella sezione "Miei Canti" e siano visualizzabili.