feat: sync all BRAIN mobile changes - onboarding, cookies, legal, mobile UX, settings

- Add OnboardingWizard, BetaBanner, CookieBanner components
- Add legal pages (Privacy, Terms, Cookies)
- Update Layout with mobile topbar, sidebar drawer, plan banner
- Update SettingsPage with profile, API config, security
- Update CharacterForm with topic suggestions, niche chips
- Update EditorialCalendar with shared strategy card
- Update ContentPage with narrative technique + brief
- Update SocialAccounts with 4 platforms and token guides
- Fix CSS button color inheritance, mobile responsive
- Add backup script
- Update .gitignore for pgdata and backups

Co-Authored-By: Claude (BRAIN/StackOS) <noreply@anthropic.com>
This commit is contained in:
Michele Borraccia
2026-04-03 14:59:14 +00:00
parent 8b77f1b86b
commit 2ca8b957e9
29 changed files with 4074 additions and 2803 deletions

27
backup.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
set -euo pipefail
BACKUP_DIR="/opt/lab-leopost-full-prod/backups"
FNAME="leopost_$(date +%Y%m%d_%H%M).sql.gz"
GDRIVE_DIR="gdrive:Backups/Leopost"
LOG="$BACKUP_DIR/backup.log"
RETENTION_DAYS=7
log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG"; }
log "--- Avvio backup $FNAME ---"
# 1. pg_dump → gzip
docker exec prod-leopost-postgres pg_dump -U leopost leopost | gzip > "$BACKUP_DIR/$FNAME"
SIZE=$(du -sh "$BACKUP_DIR/$FNAME" | cut -f1)
log "Dump creato: $FNAME ($SIZE)"
# 2. Upload su Google Drive
rclone copy "$BACKUP_DIR/$FNAME" "$GDRIVE_DIR" --log-level ERROR 2>>"$LOG"
log "Upload Drive completato: $GDRIVE_DIR/$FNAME"
# 3. Cleanup locale > 7 giorni
DELETED=$(find "$BACKUP_DIR" -name 'leopost_*.sql.gz' -mtime +$RETENTION_DAYS -print -delete | wc -l)
log "Cleanup: $DELETED file rimossi (retention ${RETENTION_DAYS}gg)"
log "--- Backup completato con successo ---"