bug fix icone non presenti in modalità arero

This commit is contained in:
David Frassi
2026-07-13 19:22:23 +02:00
parent 3c91355e10
commit 73097bf9bd
4 changed files with 156 additions and 42 deletions
+6 -38
View File
@@ -8,41 +8,14 @@ else
exit 1 exit 1
fi fi
# --- Configurazione Target e Parallelismo --- # --- Configurazione Target ---
TARGET="tophost" TARGET="contabo"
THREADS=""
if [ "$1" = "contabo" ] || [ "$1" = "tophost" ]; then
TARGET="$1"
THREADS="$2"
else
# Se il primo argomento è un numero, indica il numero di thread per tophost
if [[ "$1" =~ ^[0-9]+$ ]]; then
THREADS="$1"
fi
fi
THREADS=${THREADS:-${FTP_THREADS:-100}}
export FTP_THREADS=$THREADS
echo "🎯 Target di deploy: $TARGET" echo "🎯 Target di deploy: $TARGET"
# --- Validazione configurazione basata sul target --- # --- Validazione configurazione ---
if [ "$TARGET" = "tophost" ]; then if [ -z "$VPS_HOST" ] || [ -z "$VPS_USER" ] || [ -z "$VPS_PATH" ]; then
FTP_HOST="ftp.canticristiani.it"
FTP_USER="canticristiani.it"
FTP_PASS="$FTP_PASSWORD"
REMOTE_DIR=""
if [ -z "$FTP_PASS" ]; then
echo "❌ Errore: FTP_PASSWORD non definita nel file .env"
exit 1
fi
else
if [ -z "$VPS_HOST" ] || [ -z "$VPS_USER" ] || [ -z "$VPS_PATH" ]; then
echo "❌ Errore: VPS_HOST, VPS_USER o VPS_PATH non definiti nel file .env" echo "❌ Errore: VPS_HOST, VPS_USER o VPS_PATH non definiti nel file .env"
exit 1 exit 1
fi
fi fi
# --- Aggiornamento Versione --- # --- Aggiornamento Versione ---
@@ -84,10 +57,5 @@ echo "{\"version\":\"$VERSION\",\"buildTime\":$BUILD_TIMESTAMP}" > www/version.j
echo "📄 Generato version.json: v$VERSION (timestamp: $BUILD_TIMESTAMP)" echo "📄 Generato version.json: v$VERSION (timestamp: $BUILD_TIMESTAMP)"
# --- Upload --- # --- Upload ---
if [ "$TARGET" = "tophost" ]; then echo "🚀 Upload via SSH/rsync su Contabo ($VPS_HOST) in corso..."
echo "🚀 Upload via FTP su Tophost in corso..." rsync -avz --delete --exclude 'api' www/ "$VPS_USER@$VPS_HOST:$VPS_PATH"
python3 scratch/deploy_ftp.py
else
echo "🚀 Upload via SSH/rsync su Contabo ($VPS_HOST) in corso..."
rsync -avz --delete --exclude 'api' www/ "$VPS_USER@$VPS_HOST:$VPS_PATH"
fi
+146
View File
@@ -8,6 +8,79 @@ import { ToastController, Platform } from '@ionic/angular';
import { SwUpdate, VersionReadyEvent } from '@angular/service-worker'; import { SwUpdate, VersionReadyEvent } from '@angular/service-worker';
import { filter, first } from 'rxjs/operators'; import { filter, first } from 'rxjs/operators';
import { App } from '@capacitor/app'; import { App } from '@capacitor/app';
import { addIcons } from 'ionicons';
import {
add,
addCircleOutline,
addOutline,
analyticsOutline,
arrowUpCircle,
bookOutline,
calendarOutline,
cameraOutline,
cameraReverseOutline,
carOutline,
chevronBack,
chevronBackOutline,
chevronDown,
chevronDownOutline,
chevronForward,
chevronForwardOutline,
chevronUp,
chevronUpOutline,
closeCircle,
closeCircleOutline,
closeOutline,
cloudDownloadOutline,
cloudOfflineOutline,
cloudUploadOutline,
contrastOutline,
copyOutline,
createOutline,
documentAttachOutline,
documentTextOutline,
downloadOutline,
eyeOutline,
informationCircleOutline,
keypadOutline,
listOutline,
logoApple,
logoYoutube,
mic,
micOutline,
musicalNote,
musicalNotesOutline,
pause,
pauseSharp,
peopleOutline,
personOutline,
phoneLandscapeOutline,
play,
playForwardOutline,
playSharp,
playSkipBackSharp,
playSkipForwardSharp,
pricetagsOutline,
qrCodeOutline,
refreshOutline,
remove,
removeCircleOutline,
removeOutline,
reorderTwoOutline,
saveOutline,
scanOutline,
searchOutline,
settingsOutline,
shareOutline,
shareSocialOutline,
sparklesOutline,
statsChartOutline,
swapVerticalOutline,
trashOutline,
arrowUndoOutline,
videocam,
videocamOffOutline
} from 'ionicons/icons';
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
@@ -39,6 +112,79 @@ export class AppComponent implements OnInit {
// L'aggiornamento viene gestito esclusivamente in modo manuale // L'aggiornamento viene gestito esclusivamente in modo manuale
// tramite il pulsante "Verifica Aggiornamenti App" in SettingsPage. // tramite il pulsante "Verifica Aggiornamenti App" in SettingsPage.
addIcons({
add,
'add-circle-outline': addCircleOutline,
'add-outline': addOutline,
'analytics-outline': analyticsOutline,
'arrow-up-circle': arrowUpCircle,
'book-outline': bookOutline,
'calendar-outline': calendarOutline,
'camera-outline': cameraOutline,
'camera-reverse-outline': cameraReverseOutline,
'car-outline': carOutline,
'chevron-back': chevronBack,
'chevron-back-outline': chevronBackOutline,
'chevron-down': chevronDown,
'chevron-down-outline': chevronDownOutline,
'chevron-forward': chevronForward,
'chevron-forward-outline': chevronForwardOutline,
'chevron-up': chevronUp,
'chevron-up-outline': chevronUpOutline,
'close-circle': closeCircle,
'close-circle-outline': closeCircleOutline,
'close-outline': closeOutline,
'cloud-download-outline': cloudDownloadOutline,
'cloud-offline-outline': cloudOfflineOutline,
'cloud-upload-outline': cloudUploadOutline,
'contrast-outline': contrastOutline,
'copy-outline': copyOutline,
'create-outline': createOutline,
'document-attach-outline': documentAttachOutline,
'document-text-outline': documentTextOutline,
'download-outline': downloadOutline,
'eye-outline': eyeOutline,
'information-circle-outline': informationCircleOutline,
'keypad-outline': keypadOutline,
'list-outline': listOutline,
'logo-apple': logoApple,
'logo-youtube': logoYoutube,
mic,
'mic-outline': micOutline,
'musical-note': musicalNote,
'musical-notes-outline': musicalNotesOutline,
pause,
'pause-sharp': pauseSharp,
'people-outline': peopleOutline,
'person-outline': personOutline,
'phone-landscape-outline': phoneLandscapeOutline,
play,
'play-forward-outline': playForwardOutline,
'play-sharp': playSharp,
'play-skip-back-sharp': playSkipBackSharp,
'play-skip-forward-sharp': playSkipForwardSharp,
'pricetags-outline': pricetagsOutline,
'qr-code-outline': qrCodeOutline,
'refresh-outline': refreshOutline,
remove,
'remove-circle-outline': removeCircleOutline,
'remove-outline': removeOutline,
'reorder-two-outline': reorderTwoOutline,
'save-outline': saveOutline,
'scan-outline': scanOutline,
'search-outline': searchOutline,
'settings-outline': settingsOutline,
'share-outline': shareOutline,
'share-social-outline': shareSocialOutline,
'sparkles-outline': sparklesOutline,
'stats-chart-outline': statsChartOutline,
'swap-vertical-outline': swapVerticalOutline,
'trash-outline': trashOutline,
'arrow-undo-outline': arrowUndoOutline,
videocam,
'videocam-off-outline': videocamOffOutline
});
effect(() => { effect(() => {
this.checkLoaderDismissal(); this.checkLoaderDismissal();
}); });
@@ -130,7 +130,7 @@
</div> </div>
<div class="editor-actions"> <div class="editor-actions">
<ion-button fill="clear" size="small" (click)="undo()" [disabled]="undoStack.length === 0" title="Annulla ultima modifica"> <ion-button fill="clear" size="small" (click)="undo()" [disabled]="undoStack.length === 0" title="Annulla ultima modifica">
<ion-icon name="undo-outline"></ion-icon> <ion-icon name="arrow-undo-outline"></ion-icon>
</ion-button> </ion-button>
<ion-button fill="clear" size="small" (click)="deduceChords()" [disabled]="!content" title="Deduci accordi per le altre strofe"> <ion-button fill="clear" size="small" (click)="deduceChords()" [disabled]="!content" title="Deduci accordi per le altre strofe">
<ion-icon name="musical-notes-outline"></ion-icon> <ion-icon name="musical-notes-outline"></ion-icon>
+1 -1
View File
@@ -1 +1 @@
export const VERSION = '2026.07.13.1837'; export const VERSION = '2026.07.13.1915';