FAQ promo eventi: rimando WhatsApp e riscrittura FAQ 1 e 2

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-01 14:51:30 +02:00
parent 9000c78a22
commit 63417fb8ea
2 changed files with 24 additions and 3 deletions
+21
View File
@@ -247,6 +247,27 @@ export function createDb(path?: string): Database.Database {
// visibile ai soli admin): i tag che la servivano restano orfani nei DB esistenti.
db.prepare("DELETE FROM content_blocks WHERE tag IN ('global.nav.7.label', 'promo.pagehero.title')").run();
// FAQ "Come faccio ad acquistare i pacchetti?": coda con il rimando a WhatsApp aggiunta dopo
// il primo deploy → i DB esistenti hanno ancora la versione senza. Append guardato dalla fine
// del vecchio testo e dall'assenza della coda → idempotente, non tocca riscritture da pannello.
db.prepare(
`UPDATE content_blocks SET value = value || '<br><br>Se hai bisogno di aiuto scrivi su <span class="hl">WhatsApp ({{whatsapp}})</span> e sarai presto ricontattato!'
WHERE tag = 'promo.faq.0.a' AND value LIKE '%effettuando il pagamento.'`,
).run();
// FAQ 1 e 2 riscritte (rimando alla prima domanda per l'acquisto, screening iniziale per
// One to One/Small Group, orari class entro Settembre). Guardia via frammento LIKE del vecchio
// testo → idempotente e rispettosa di eventuali riscritture da pannello.
const PROMO_FAQ_RISCRITTE: [string, string, string][] = [
['promo.faq.1.a', '%per prenotare le singole sessioni in base agli orari disponibili%',
'Per acquistare il pacchetto online segui le istruzioni riportate nella risposta della prima domanda. Una volta avvenuto con successo l\'acquisto, potrai contattarci scrivendoci su <span class="hl">WhatsApp ({{whatsapp}})</span> per prenotare lo screening iniziale ovvero il colloquio conoscitivo per la definizione dei tuoi obiettivi. Verrai ricontattato subito tramite messaggio o chiamata! Gli incontri sono validi 2 mesi dalla data del primo incontro e comunque non oltre il 1° dicembre 2026.'],
['promo.faq.2.a', '%vai nella schermata Home, clicca il servizio che hai acquistato%',
'Per acquistare il pacchetto online segui le istruzioni riportate nella risposta della prima domanda. Una volta scaricata l\'app <span class="hl">Bsport</span> e acquistato il pacchetto potrai procedere a selezionare autonomamente la class che preferisci nel giorno e nell\'orario che desideri. Gli orari delle class saranno pubblicati entro Settembre. In caso di problemi contattaci su <span class="hl">WhatsApp ({{whatsapp}})</span>! Gli incontri sono validi 2 mesi dalla data del primo incontro e comunque non oltre il 1° dicembre 2026.'],
];
const updFaq = db.prepare('UPDATE content_blocks SET value = ? WHERE tag = ? AND value LIKE ?');
const updFaqTx = db.transaction(() => { for (const [tag, frag, newV] of PROMO_FAQ_RISCRITTE) updFaq.run(newV, tag, frag); });
updFaqTx();
// Cestino degli articoli: colonna aggiunta a posteriori sui database già esistenti.
const colonnePost = db.prepare('PRAGMA table_info(posts)').all() as { name: string }[];
if (!colonnePost.some((c) => c.name === 'deleted_at')) {