canti primo tag

This commit is contained in:
David Frassi
2026-05-16 17:24:59 +02:00
commit 0c33fc6fcf
106 changed files with 28210 additions and 0 deletions
+75
View File
@@ -0,0 +1,75 @@
import { Component, inject } from '@angular/core';
import { ThemeService } from '../../services/theme.service';
import { SettingsService } from '../../services/settings.service';
import { CantiService } from '../../services/canti.service';
import { ConnectivityService } from '../../services/connectivity.service';
import { SwUpdate } from '@angular/service-worker';
import { ToastController, ModalController, AlertController } from '@ionic/angular';
import { VERSION } from '../../version';
import { PlaylistService } from '../../services/playlist.service';
import { Router } from '@angular/router';
import { MyCantiService } from '../../services/my-canti.service';
@Component({
selector: 'app-settings',
templateUrl: './settings.page.html',
styleUrls: ['./settings.page.scss'],
standalone: false
})
export class SettingsPage {
public myCantiService = inject(MyCantiService);
public themeService = inject(ThemeService);
public settingsService = inject(SettingsService);
public cantiService = inject(CantiService);
public connectivityService = inject(ConnectivityService);
public playlistService = inject(PlaylistService);
private swUpdate = inject(SwUpdate);
private toastCtrl = inject(ToastController);
private modalCtrl = inject(ModalController);
private alertCtrl = inject(AlertController);
private router = inject(Router);
public version = VERSION;
constructor() {}
onModeChange(event: any) {
this.settingsService.setShowChordsDefault(event.detail.value === 'chords');
}
async fullRefresh() {
// 1. Refresh JSON data
this.cantiService.refresh();
// 2. Check for Service Worker updates
if (this.swUpdate.isEnabled) {
try {
const updateFound = await this.swUpdate.checkForUpdate();
if (updateFound) {
const toast = await this.toastCtrl.create({
message: 'Nuova versione disponibile! Aggiornamento in corso...',
duration: 2000,
color: 'secondary'
});
await toast.present();
setTimeout(() => {
window.location.reload();
}, 2000);
return;
}
} catch (err) {
console.error('Failed to check for updates', err);
}
}
const toast = await this.toastCtrl.create({
message: 'Dati aggiornati correttamente!',
duration: 2000,
color: 'success'
});
await toast.present();
}
}