From 93cd8d38ff7d9704d9a0a1b9a3dfa1b07bd491de Mon Sep 17 00:00:00 2001 From: soufiane Date: Mon, 24 Nov 2025 15:57:42 +0100 Subject: [PATCH] feat: improve newsletter email design and buttons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Change game button to redirect to /jeux instead of /register - Improve button colors: orange/red for primary, gold for secondary - Add hover effects with shadows and transform animations - Remove unsubscribe section from footer - Clean up email subject: remove emoji, keep professional format - Increase button font size and add letter spacing for better readability Button improvements: - Primary button (Jouer Maintenant): vibrant orange gradient (#f59e0b → #ea580c) - Secondary button (Visiter le Site): gold gradient matching brand colors - Enhanced shadows and hover effects for better interactivity 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/services/newsletter.service.js | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/services/newsletter.service.js b/src/services/newsletter.service.js index b84b7b85..71a7cf7b 100644 --- a/src/services/newsletter.service.js +++ b/src/services/newsletter.service.js @@ -65,7 +65,8 @@ const sendEmail = async ({ to, subject, html, text }) => { export const sendNewsletterConfirmationEmail = async (email) => { const unsubscribeUrl = `${process.env.FRONTEND_URL || 'http://localhost:3000'}/newsletter/unsubscribe?email=${encodeURIComponent(email)}`; const siteUrl = process.env.FRONTEND_URL || 'http://localhost:3000'; - const gameUrl = `${siteUrl}/game`; + // Bouton "Jouer Maintenant" redirige vers /jeux + const gameUrl = `${siteUrl}/jeux`; const currentDate = new Date().toLocaleString('fr-FR', { day: '2-digit', month: '2-digit', @@ -225,20 +226,31 @@ export const sendNewsletterConfirmationEmail = async (email) => { display: inline-block; padding: 18px 40px; margin: 10px 8px; - font-size: 16px; + font-size: 17px; font-weight: bold; text-decoration: none; border-radius: 50px; transition: all 0.3s ease; - box-shadow: 0 4px 15px rgba(0,0,0,0.2); + box-shadow: 0 6px 20px rgba(0,0,0,0.25); + letter-spacing: 0.5px; } .button-primary { - background: linear-gradient(135deg, #d4a574 0%, #c4956a 100%); + background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%); color: white; + border: 2px solid transparent; + } + .button-primary:hover { + box-shadow: 0 8px 25px rgba(245, 158, 11, 0.4); + transform: translateY(-2px); } .button-secondary { - background: linear-gradient(135deg, #5a5a4e 0%, #4a4a42 100%); + background: linear-gradient(135deg, #d4a574 0%, #c4956a 100%); color: white; + border: 2px solid transparent; + } + .button-secondary:hover { + box-shadow: 0 8px 25px rgba(212, 165, 116, 0.4); + transform: translateY(-2px); } .info-box { background: white; @@ -399,12 +411,6 @@ export const sendNewsletterConfirmationEmail = async (email) => { -
-

- Vous ne souhaitez plus recevoir nos emails ?
- Se désinscrire -

-

© 2025 Thé Tip Top - Tous droits réservés

@@ -448,7 +454,7 @@ Pour vous désinscrire : ${unsubscribeUrl} return sendEmail({ to: email, - subject: '🍃 Thé Tip Top | Bienvenue dans la newsletter - Jeu Concours 🎉', + subject: 'Thé Tip Top | Bienvenue dans la newsletter - Jeu Concours 🎉', html, text, });