Checkpoint: Ajout du champ "Corps du message" dans l'interface de gestion des templates d'emails. Les utilisateurs peuvent maintenant personnaliser le contenu principal de leurs emails automatiques (confirmation, teaser, rappel) en plus du titre, des couleurs et du pied de page. Le champ accepte du texte simple et affiche une prévisualisation en temps réel.
This commit is contained in:
@@ -32,6 +32,7 @@ export default function AdminEmailTemplates() {
|
||||
headerBgColor: "#2563eb",
|
||||
headerTextColor: "#ffffff",
|
||||
headerTitle: "Formation Manager Itinova",
|
||||
bodyContent: "",
|
||||
footerText: "",
|
||||
active: true,
|
||||
});
|
||||
@@ -73,6 +74,7 @@ export default function AdminEmailTemplates() {
|
||||
headerBgColor: currentTemplate.headerBgColor,
|
||||
headerTextColor: currentTemplate.headerTextColor,
|
||||
headerTitle: currentTemplate.headerTitle,
|
||||
bodyContent: currentTemplate.bodyContent || "",
|
||||
footerText: currentTemplate.footerText || "",
|
||||
active: currentTemplate.active,
|
||||
});
|
||||
@@ -83,6 +85,7 @@ export default function AdminEmailTemplates() {
|
||||
upsertMutation.mutate({
|
||||
...formData,
|
||||
logoUrl: formData.logoUrl || null,
|
||||
bodyContent: formData.bodyContent || null,
|
||||
footerText: formData.footerText || null,
|
||||
});
|
||||
};
|
||||
@@ -97,6 +100,7 @@ export default function AdminEmailTemplates() {
|
||||
headerBgColor: currentTemplate.headerBgColor,
|
||||
headerTextColor: currentTemplate.headerTextColor,
|
||||
headerTitle: currentTemplate.headerTitle,
|
||||
bodyContent: currentTemplate.bodyContent || "",
|
||||
footerText: currentTemplate.footerText || "",
|
||||
active: currentTemplate.active,
|
||||
});
|
||||
@@ -136,9 +140,11 @@ export default function AdminEmailTemplates() {
|
||||
<h1>${formData.headerTitle}</h1>
|
||||
</div>
|
||||
<div class="content">
|
||||
${formData.bodyContent ? formData.bodyContent.replace(/\n/g, '<br>') : `
|
||||
<h2>Exemple de contenu</h2>
|
||||
<p>Bonjour,</p>
|
||||
<p>Ceci est un exemple de prévisualisation de votre template d'email personnalisé.</p>
|
||||
`}
|
||||
<div class="info-box">
|
||||
<p><strong>Information importante</strong></p>
|
||||
<p>Ce bloc utilise la couleur principale que vous avez choisie.</p>
|
||||
@@ -313,6 +319,20 @@ export default function AdminEmailTemplates() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Label htmlFor="bodyContent">Corps du message</Label>
|
||||
<Textarea
|
||||
id="bodyContent"
|
||||
value={formData.bodyContent}
|
||||
onChange={(e) => setFormData({ ...formData, bodyContent: e.target.value })}
|
||||
placeholder="Contenu principal de l'email...\n\nVous pouvez utiliser des variables : {{nomApprenant}}, {{nomFormation}}, {{nomSequence}}, etc."
|
||||
rows={8}
|
||||
/>
|
||||
<p className="text-xs text-muted-foreground mt-1">
|
||||
Le contenu du corps du message. Laissez vide pour utiliser le contenu par défaut.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Label htmlFor="footerText">Texte du pied de page</Label>
|
||||
<Textarea
|
||||
|
||||
Reference in New Issue
Block a user