Add social sharing buttons and QR code for events

Public event page:
- Share buttons: X (Twitter), Facebook, Instagram (copy link), TikTok (copy link), copy link
- Buttons use url_encode for share URLs with event title + URL
- Instagram/TikTok copy to clipboard (no direct share URL support)
- Consistent brutal design with aria-labels

Organizer dashboard:
- Share X, Facebook, copy link buttons per event in events list
- QR code download button per event
- Route /mon-compte/evenement/{id}/qrcode: generates 400px PNG QR code via Endroid
- QR code points to public event URL, downloaded as qrcode-{slug}.png

JS module:
- assets/modules/share.js: initShare() handles data-share-copy buttons
- Copies URL to clipboard, shows checkmark for 1.5s then restores icon
- 4 tests (no buttons, copy, checkmark restore, multiple buttons)

Social icons already displayed via _social_icons.html.twig component

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-23 15:11:53 +01:00
parent 1af242c307
commit 6b009a4511
7 changed files with 171 additions and 1 deletions

View File

@@ -130,6 +130,22 @@
- [x] Ajouter des tests pour AuditService, ExportService, InvoiceService
- [x] Ajouter des tests pour les webhooks Stripe (payment_failed, charge.refunded)
### Réseaux sociaux & Partage
#### Page détail événement (public)
- [x] Bouton partage X (Twitter) : lien pré-rempli avec titre + URL événement
- [x] Bouton partage Facebook : lien share dialog avec URL événement
- [x] Bouton partage Instagram : copier le lien (Instagram ne supporte pas le share URL direct)
- [x] Bouton partage TikTok : copier le lien (TikTok ne supporte pas le share URL direct)
- [x] Bouton copier le lien de l'événement
#### Interface organisateur (/mon-compte)
- [x] Bouton partage X (Twitter) pour chaque événement dans la liste
- [x] Bouton partage Facebook pour chaque événement
- [x] Bouton copier le lien pour chaque événement
- [x] Bouton QR code événement : génération QR code PNG téléchargeable
- [x] Page /mon-compte/evenement/{id}/qrcode : route avec Endroid QR Code
- [x] Afficher les liens réseaux sociaux de l'orga (facebook, instagram, twitter, tiktok) sur la page événement (déjà en place via _social_icons.html.twig)
### Infrastructure
- [x] Configurer les crons pour les backups automatiques (DB + uploads, toutes les 30 min, rétention 1 jour)
- [x] Ajouter le monitoring des queues Messenger (commande + cron toutes les heures + email admin)