Checkpoint: Restauration des boutons d'ajout de balises dans la gestion des templates d'emails.
**Problème identifié :**
Les boutons d'ajout de balises (variables dynamiques) avaient été supprimés lors d'une modification précédente du fichier AdminEmailTemplates.tsx.
**Correction apportée :**
- Restauration de 10 boutons de variables dynamiques : {{nom}}, {{prenom}}, {{nomFormation}}, {{nomSequence}}, {{dateDebut}}, {{dateFin}}, {{lieu}}, {{formateur}}, {{datesHTML}}, {{lienReinitialisation}}
- Les boutons sont placés au-dessus de l'éditeur TipTap pour faciliter l'insertion rapide de variables
- Chaque bouton insère la balise correspondante à la position du curseur dans l'éditeur
- Message d'aide mis à jour pour encourager l'utilisation des boutons
**Résultat :**
✅ Les boutons sont de nouveau visibles et fonctionnels dans l'interface
✅ Déployé et testé avec succès sur le VPS de production (https://formations.itinova.org)
✅ L'expérience utilisateur est améliorée pour la création et modification des templates d'emails
This commit is contained in:
@@ -368,11 +368,106 @@ export default function AdminEmailTemplates() {
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<Label htmlFor="bodyContent">Corps du message</Label>
|
<Label htmlFor="bodyContent">Corps du message</Label>
|
||||||
|
|
||||||
|
{/* Boutons de variables dynamiques */}
|
||||||
|
<div className="flex flex-wrap gap-2 mb-2">
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => editor?.chain().focus().insertContent('{{nom}}').run()}
|
||||||
|
>
|
||||||
|
<Plus className="h-3 w-3 mr-1" />
|
||||||
|
Nom
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => editor?.chain().focus().insertContent('{{prenom}}').run()}
|
||||||
|
>
|
||||||
|
<Plus className="h-3 w-3 mr-1" />
|
||||||
|
Prénom
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => editor?.chain().focus().insertContent('{{nomFormation}}').run()}
|
||||||
|
>
|
||||||
|
<Plus className="h-3 w-3 mr-1" />
|
||||||
|
Nom formation
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => editor?.chain().focus().insertContent('{{nomSequence}}').run()}
|
||||||
|
>
|
||||||
|
<Plus className="h-3 w-3 mr-1" />
|
||||||
|
Nom séquence
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => editor?.chain().focus().insertContent('{{dateDebut}}').run()}
|
||||||
|
>
|
||||||
|
<Plus className="h-3 w-3 mr-1" />
|
||||||
|
Date début
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => editor?.chain().focus().insertContent('{{dateFin}}').run()}
|
||||||
|
>
|
||||||
|
<Plus className="h-3 w-3 mr-1" />
|
||||||
|
Date fin
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => editor?.chain().focus().insertContent('{{lieu}}').run()}
|
||||||
|
>
|
||||||
|
<Plus className="h-3 w-3 mr-1" />
|
||||||
|
Lieu
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => editor?.chain().focus().insertContent('{{formateur}}').run()}
|
||||||
|
>
|
||||||
|
<Plus className="h-3 w-3 mr-1" />
|
||||||
|
Formateur
|
||||||
|
</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>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => editor?.chain().focus().insertContent('{{lienReinitialisation}}').run()}
|
||||||
|
>
|
||||||
|
<Plus className="h-3 w-3 mr-1" />
|
||||||
|
Lien réinitialisation
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="border rounded-md p-2 min-h-[200px]">
|
<div className="border rounded-md p-2 min-h-[200px]">
|
||||||
<EditorContent editor={editor} />
|
<EditorContent editor={editor} />
|
||||||
</div>
|
</div>
|
||||||
<p className="text-xs text-muted-foreground mt-1">
|
<p className="text-xs text-muted-foreground mt-1">
|
||||||
Variables disponibles : {"{"}{"{"} nom {"}"}{"}"}, {"{"}{"{"} prenom {"}"}{"}"}, {"{"}{"{"} nomFormation {"}"}{"}"}, {"{"}{"{"} nomSequence {"}"}{"}"}, {"{"}{"{"} dateDebut {"}"}{"}"}, {"{"}{"{"} dateFin {"}"}{"}"}, {"{"}{"{"} lieu {"}"}{"}"}, {"{"}{"{"} formateur {"}"}{"}"}, {"{"}{"{"} lienReinitialisation {"}"}{"}"}
|
Utilisez les boutons ci-dessus pour insérer rapidement des variables dans votre email.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
6
todo.md
6
todo.md
@@ -972,3 +972,9 @@
|
|||||||
- [x] Déployer
|
- [x] Déployer
|
||||||
- [x] Mettre à jour les données dans la table emailTemplates (déjà fait lors de la migration précédente)
|
- [x] Mettre à jour les données dans la table emailTemplates (déjà fait lors de la migration précédente)
|
||||||
- [x] Tester
|
- [x] Tester
|
||||||
|
|
||||||
|
## Restauration boutons d'ajout de balises dans templates
|
||||||
|
|
||||||
|
- [x] Identifier pourquoi les boutons ont disparu
|
||||||
|
- [x] Restaurer les boutons
|
||||||
|
- [x] Déployer et tester
|
||||||
|
|||||||
Reference in New Issue
Block a user