Checkpoint: Ajout du bouton {{datesHTML}} dans l'interface de gestion des templates d'emails

Modifications apportées :
- Ajout d'un nouveau bouton "Dates (HTML)" dans l'interface AdminEmailTemplates
- Le bouton permet d'insérer la variable {{datesHTML}} dans le corps du message
- Ajout du remplacement de {{datesHTML}} dans la fonction de prévisualisation avec un exemple formaté
- Mise à jour de la description de la prévisualisation pour mentionner la nouvelle variable

La variable {{datesHTML}} permet d'afficher toutes les dates d'une séquence de formation de manière formatée dans les emails (rappels, teasers, confirmations).
This commit is contained in:
Manus Sandbox
2025-12-02 12:23:30 -05:00
parent ee1e7b2d9a
commit 069d144c73
2 changed files with 19 additions and 2 deletions

View File

@@ -159,7 +159,8 @@ export default function AdminEmailTemplates() {
.replace(/\{\{dateDebut\}\}/g, '15/01/2025') .replace(/\{\{dateDebut\}\}/g, '15/01/2025')
.replace(/\{\{dateFin\}\}/g, '17/01/2025') .replace(/\{\{dateFin\}\}/g, '17/01/2025')
.replace(/\{\{lieu\}\}/g, 'Salle de formation A - Bâtiment principal') .replace(/\{\{lieu\}\}/g, 'Salle de formation A - Bâtiment principal')
.replace(/\{\{formateur\}\}/g, 'Jean Martin'); .replace(/\{\{formateur\}\}/g, 'Jean Martin')
.replace(/\{\{datesHTML\}\}/g, '<div class="date-item"><strong>Date 1 :</strong> lundi 15 janvier 2025</div><div class="date-item"><strong>Date 2 :</strong> mardi 16 janvier 2025</div>');
}; };
const bodyWithVars = formData.bodyContent ? replaceVariables(formData.bodyContent) : ` const bodyWithVars = formData.bodyContent ? replaceVariables(formData.bodyContent) : `
@@ -469,6 +470,15 @@ export default function AdminEmailTemplates() {
<Plus className="h-3 w-3 mr-1" /> <Plus className="h-3 w-3 mr-1" />
Formateur Formateur
</Button> </Button>
<Button
type="button"
variant="outline"
size="sm"
onClick={() => editor?.chain().focus().insertContent('{{datesHTML}}').run()}
>
<Plus className="h-3 w-3 mr-1" />
Dates (HTML)
</Button>
</div> </div>
{/* Éditeur WYSIWYG TipTap */} {/* Éditeur WYSIWYG TipTap */}
@@ -588,7 +598,7 @@ export default function AdminEmailTemplates() {
<DialogTitle>Aperçu de l'email final</DialogTitle> <DialogTitle>Aperçu de l'email final</DialogTitle>
<DialogDescription> <DialogDescription>
Cet aperçu montre comment l'email apparaîtra avec des données d'exemple. Cet aperçu montre comment l'email apparaîtra avec des données d'exemple.
Les variables (nomApprenant, nomFormation, etc.) sont remplacées par des valeurs de test. Les variables (nomApprenant, nomFormation, datesHTML, etc.) sont remplacées par des valeurs de test.
</DialogDescription> </DialogDescription>
</DialogHeader> </DialogHeader>
<div className="border rounded-lg overflow-hidden bg-gray-50"> <div className="border rounded-lg overflow-hidden bg-gray-50">

View File

@@ -953,3 +953,10 @@
- [x] Identifier pourquoi {{prenomApprenant}} n'est pas remplacé (affiche "Cher(e) {{prenomApprenant}} monroe") - [x] Identifier pourquoi {{prenomApprenant}} n'est pas remplacé (affiche "Cher(e) {{prenomApprenant}} monroe")
- [x] Corriger le remplacement des variables dans l'email de confirmation (mise à jour du bodyContent du template) - [x] Corriger le remplacement des variables dans l'email de confirmation (mise à jour du bodyContent du template)
- [ ] Tester l'envoi d'un email de confirmation avec les bonnes variables - [ ] Tester l'envoi d'un email de confirmation avec les bonnes variables
## Ajout du bouton {{datesHTML}} dans les templates d'emails
- [x] Localiser l'interface AdminEmailTemplates
- [x] Ajouter le bouton pour insérer {{datesHTML}} dans la liste des variables disponibles
- [x] Ajouter le remplacement de {{datesHTML}} dans la prévisualisation
- [ ] Tester l'insertion de la variable dans un template