modificato deploy verso contabo
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user