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.
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
FTP_PASSWORD=cantiDavid@72
|
||||
FTP_THREADS=30
|
||||
BASE_HREF=/ionic/
|
||||
CONTACT_EMAIL=info@canticristiani.it
|
||||
|
||||
@@ -22,6 +22,25 @@ if [ -z "$FTP_PASS" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# --- Aggiornamento Versione ---
|
||||
VERSION=$(date +'%Y.%m.%d.%H%M')
|
||||
echo "export const VERSION = '$VERSION';" > src/app/version.ts
|
||||
echo "🏷️ Versione aggiornata a: $VERSION"
|
||||
|
||||
# --- Configurazione Email Parametrica ---
|
||||
node -e "
|
||||
const fs = require('fs');
|
||||
const envEmail = process.env.CONTACT_EMAIL || 'info@canticristiani.it';
|
||||
['src/environments/environment.ts', 'src/environments/environment.prod.ts'].forEach(file => {
|
||||
if (fs.existsSync(file)) {
|
||||
let content = fs.readFileSync(file, 'utf8');
|
||||
content = content.replace(/contactEmail:\s*'[^']*'/g, \`contactEmail: '\${envEmail}'\`);
|
||||
fs.writeFileSync(file, content, 'utf8');
|
||||
console.log(\`📧 Aggiornata email di contatto in \${file} a: \${envEmail}\`);
|
||||
}
|
||||
});
|
||||
"
|
||||
|
||||
# --- Build della PWA ---
|
||||
echo "📦 1/2 Build della PWA (Production) in corso..."
|
||||
# Usiamo la variabile d'ambiente BASE_HREF dal file .env
|
||||
|
||||
@@ -27,6 +27,20 @@ VERSION=$(date +'%Y.%m.%d.%H%M')
|
||||
echo "export const VERSION = '$VERSION';" > src/app/version.ts
|
||||
echo "🏷️ Versione aggiornata a: $VERSION"
|
||||
|
||||
# --- Configurazione Email Parametrica ---
|
||||
node -e "
|
||||
const fs = require('fs');
|
||||
const envEmail = process.env.CONTACT_EMAIL || 'info@canticristiani.it';
|
||||
['src/environments/environment.ts', 'src/environments/environment.prod.ts'].forEach(file => {
|
||||
if (fs.existsSync(file)) {
|
||||
let content = fs.readFileSync(file, 'utf8');
|
||||
content = content.replace(/contactEmail:\s*'[^']*'/g, \`contactEmail: '\${envEmail}'\`);
|
||||
fs.writeFileSync(file, content, 'utf8');
|
||||
console.log(\`📧 Aggiornata email di contatto in \${file} a: \${envEmail}\`);
|
||||
}
|
||||
});
|
||||
"
|
||||
|
||||
# --- Build della PWA (base-href=/ per installare nella root) ---
|
||||
echo "📦 1/2 Build della PWA (Production) per ROOT (www.canticristiani.it) in corso..."
|
||||
npm run build -- --configuration=production --base-href=/ || { echo "❌ Errore nella build"; exit 1; }
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
<ion-icon name="send-outline" slot="start" color="secondary"></ion-icon>
|
||||
<ion-label class="outfit-font">
|
||||
<h2 class="settings-item-title">Proponi i miei canti ({{ myCantiService.myCanti().length }})</h2>
|
||||
<p class="settings-item-subtitle">Invia a frassidavid@gmail.com</p>
|
||||
<p class="settings-item-subtitle">Invia a {{ contactEmail }}</p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</div>
|
||||
|
||||
@@ -12,6 +12,7 @@ import { Router } from '@angular/router';
|
||||
import { MyCantiService } from '../../services/my-canti.service';
|
||||
import { CantiLettureService } from '../../services/canti-letture.service';
|
||||
import { ComunitaService } from '../../services/comunita.service';
|
||||
import { environment } from '../../../environments/environment';
|
||||
|
||||
@Component({
|
||||
selector: 'app-settings',
|
||||
@@ -35,6 +36,7 @@ export class SettingsPage {
|
||||
private router = inject(Router);
|
||||
|
||||
public version = VERSION;
|
||||
public contactEmail = environment.contactEmail;
|
||||
|
||||
constructor() {}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import { Injectable, signal, inject } from '@angular/core';
|
||||
import { Storage } from '@ionic/storage-angular';
|
||||
import { Canto, CantiService } from './canti.service';
|
||||
import { ToastController } from '@ionic/angular';
|
||||
import { environment } from '../../environments/environment';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -70,7 +71,7 @@ export class MyCantiService {
|
||||
|
||||
const body = JSON.stringify(data, null, 2);
|
||||
const subject = `Proposta Collection Canti: ${this.myCanti().length} brani`;
|
||||
const mailtoUrl = `mailto:frassidavid@gmail.com?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
|
||||
const mailtoUrl = `mailto:${environment.contactEmail}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
|
||||
|
||||
window.location.href = mailtoUrl;
|
||||
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
export const VERSION = '2026.05.20.1221';
|
||||
export const VERSION = '2026.05.20.1227';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
export const environment = {
|
||||
production: true
|
||||
production: true,
|
||||
contactEmail: 'info@canticristiani.it'
|
||||
};
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
// The list of file replacements can be found in `angular.json`.
|
||||
|
||||
export const environment = {
|
||||
production: false
|
||||
production: false,
|
||||
contactEmail: 'info@canticristiani.it'
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user