Ops UI - CampaignDetailPage: "CSV" button — downloads per-recipient report (shortlinks, status, opened/clicked timestamps, mailjet UUID) - CampaignNewPage: "Saisie manuelle (sans CSV)" on Step 1 and "Ajouter manuellement" on Step 2 — both open the same dialog with firstname / email / gift_url / city / postal_code / language / amount override. Indigo "manuel" chip in the recipients table. - New "Ville" column shows city OR postal_code as fallback. Hub - GET /campaigns/:id/report.csv — RFC 4180 CSV with UTF-8 BOM so Excel auto-detects encoding. 20 columns including new "city". - Worker honours per-recipient amount override: r.amount > derive from r.gift_value_cents > params.amount > "50 $". Fixes manual-add showing campaign default instead of typed value. - Default subject "Un cadeau pour toi" (tutoyer). Templates - Order: Intro → ✅ Option 1 → 🎁 marques → CTA → prorata → ⏭️ Option 2. - New EN intro (manifesto): "Thank you for choosing local. Your support helps keep our community connected. / Because great connections aren't just about fiber — they're about people too." - Amazon logo removed (incongruent with "achat local" framing). - Body paragraphs: text-align justify (greeting/labels stay left). - Support line: "N'hésite pas à nous écrire / Feel free to email us" + dash format 514-448-0773, drop "Support 7j/7" overpromise. - Logo style fix: inline width:32px to beat Unlayer canvas CSS that was rendering brand pills full-width. Ignore template converter .bak-*.json backups. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
50 lines
970 B
Plaintext
50 lines
970 B
Plaintext
# Environment files (may contain secrets)
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
apps/**/.env
|
|
apps/**/.env.local
|
|
|
|
# Dependencies
|
|
node_modules/
|
|
|
|
# Build output
|
|
dist/
|
|
build/
|
|
docker/
|
|
|
|
# Quasar dev cache
|
|
apps/**/.quasar/
|
|
|
|
# Claude workspace (local only)
|
|
.claude/
|
|
|
|
# Data exports (may contain PII)
|
|
exports/
|
|
|
|
# OS
|
|
.DS_Store
|
|
**/.DS_Store
|
|
Thumbs.db
|
|
|
|
# Generated invoice/quote previews (output of setup_invoice_print_format.py
|
|
# + test_jinja_render.py). Keep sources (*.jinja) and final references
|
|
# (docs/assets/*.pdf when added intentionally), never ephemeral output.
|
|
invoice_preview*.pdf
|
|
scripts/migration/invoice_preview*.pdf
|
|
scripts/migration/invoice_preview*.html
|
|
scripts/migration/rendered_jinja_invoice*
|
|
scripts/migration/SINV-*.pdf
|
|
scripts/migration/ref_invoice.pdf
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
|
|
# Playwright snapshots
|
|
.playwright-mcp/
|
|
|
|
# Auto-generated backups from scripts/convert-html-to-unlayer.js
|
|
services/targo-hub/templates/*.bak-*.json
|
|
services/targo-hub/templates/*.bak-*.html
|