From f2545738ee8fb455e10a27034eda0d68a26e0e1c Mon Sep 17 00:00:00 2001 From: chahinebrini Date: Tue, 19 May 2026 11:10:49 +0200 Subject: [PATCH] feat(mail-templates): Nunito font, app-icon header, DSGVO footer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - App-Icon (128x128, resized von 1024x1024, 6.7KB) im dunklen Header über dem 'ReBreak'-Wordmark, abgerundete Ecken (border-radius:14px) - Nunito (Google Fonts, weights 400/600/700) für allen Body-Text, Inline font-family auf jedem Element wegen Gmail-Style-Stripping. OTP-Code bleibt monospace (Apple SF Mono / Menlo) - DSGVO-Footer: rebreak.org + Datenschutz-Link (i18n'd: Datenschutz / Privacy / Confidentialité / الخصوصية) - 5 Templates konsistent: confirmation, recovery, magic_link, invite, email_change --- backend/public/email-assets/icon.png | Bin 0 -> 6880 bytes backend/public/templates/confirmation.html | 45 +++++++++++++-------- backend/public/templates/email_change.html | 45 +++++++++++++-------- backend/public/templates/invite.html | 45 +++++++++++++-------- backend/public/templates/magic_link.html | 45 +++++++++++++-------- backend/public/templates/recovery.html | 45 +++++++++++++-------- 6 files changed, 140 insertions(+), 85 deletions(-) create mode 100644 backend/public/email-assets/icon.png diff --git a/backend/public/email-assets/icon.png b/backend/public/email-assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ab43b129cc2805afa3fff8d0be20c4c1b992957f GIT binary patch literal 6880 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 ReBreak + + - +
- -
-
ReBreak
+
+ ReBreak +
ReBreak
{{ if eq .Data.locale "de" }} -

Willkommen bei ReBreak

-

Gib diesen Code in der App ein, um deine E-Mail-Adresse zu bestätigen:

+

Willkommen bei ReBreak

+

Gib diesen Code in der App ein, um deine E-Mail-Adresse zu bestätigen:

{{ else if eq .Data.locale "fr" }} -

Bienvenue sur ReBreak

-

Saisis ce code dans l'application pour confirmer ton adresse e-mail :

+

Bienvenue sur ReBreak

+

Saisis ce code dans l'application pour confirmer ton adresse e-mail :

{{ else if eq .Data.locale "ar" }} -

مرحبًا بك في ReBreak

-

أدخل هذا الرمز في التطبيق لتأكيد بريدك الإلكتروني:

+

مرحبًا بك في ReBreak

+

أدخل هذا الرمز في التطبيق لتأكيد بريدك الإلكتروني:

{{ else }} -

Welcome to ReBreak

-

Enter this code in the app to confirm your email address:

+

Welcome to ReBreak

+

Enter this code in the app to confirm your email address:

{{ end }}
@@ -34,18 +40,23 @@
{{ if eq .Data.locale "de" }} -

Falls du dich nicht bei ReBreak registriert hast, kannst du diese E-Mail ignorieren.

+

Falls du dich nicht bei ReBreak registriert hast, kannst du diese E-Mail ignorieren.

{{ else if eq .Data.locale "fr" }} -

Si tu n'as pas créé de compte ReBreak, tu peux ignorer ce message.

+

Si tu n'as pas créé de compte ReBreak, tu peux ignorer ce message.

{{ else if eq .Data.locale "ar" }} -

إذا لم تقم بإنشاء حساب على ReBreak، يمكنك تجاهل هذه الرسالة.

+

إذا لم تقم بإنشاء حساب على ReBreak، يمكنك تجاهل هذه الرسالة.

{{ else }} -

If you didn't sign up for ReBreak, you can safely ignore this email.

+

If you didn't sign up for ReBreak, you can safely ignore this email.

{{ end }}
-

© ReBreak

+
+

+ rebreak.org +  ·  + {{ if eq .Data.locale "de" }}Datenschutz{{ else if eq .Data.locale "fr" }}Confidentialité{{ else if eq .Data.locale "ar" }}الخصوصية{{ else }}Privacy{{ end }} +

+

© ReBreak

diff --git a/backend/public/templates/email_change.html b/backend/public/templates/email_change.html index 2d015cc..cf42ddf 100644 --- a/backend/public/templates/email_change.html +++ b/backend/public/templates/email_change.html @@ -4,29 +4,35 @@ ReBreak + + - +
- -
-
ReBreak
+
+ ReBreak +
ReBreak
{{ if eq .Data.locale "de" }} -

E-Mail-Adresse ändern

-

Gib diesen Code in der App ein, um die Änderung deiner E-Mail-Adresse zu bestätigen:

+

E-Mail-Adresse ändern

+

Gib diesen Code in der App ein, um die Änderung deiner E-Mail-Adresse zu bestätigen:

{{ else if eq .Data.locale "fr" }} -

Modifier ton adresse e-mail

-

Saisis ce code dans l'application pour confirmer la modification de ton adresse e-mail :

+

Modifier ton adresse e-mail

+

Saisis ce code dans l'application pour confirmer la modification de ton adresse e-mail :

{{ else if eq .Data.locale "ar" }} -

تغيير عنوان البريد الإلكتروني

-

أدخل هذا الرمز في التطبيق لتأكيد تغيير عنوان بريدك الإلكتروني:

+

تغيير عنوان البريد الإلكتروني

+

أدخل هذا الرمز في التطبيق لتأكيد تغيير عنوان بريدك الإلكتروني:

{{ else }} -

Change your email address

-

Enter this code in the app to confirm your new email address:

+

Change your email address

+

Enter this code in the app to confirm your new email address:

{{ end }}
@@ -34,18 +40,23 @@
{{ if eq .Data.locale "de" }} -

Falls du diese Änderung nicht angefordert hast, kannst du diese E-Mail ignorieren — deine alte E-Mail-Adresse bleibt erhalten.

+

Falls du diese Änderung nicht angefordert hast, kannst du diese E-Mail ignorieren — deine alte E-Mail-Adresse bleibt erhalten.

{{ else if eq .Data.locale "fr" }} -

Si tu n'as pas demandé ce changement, ignore ce message — ton adresse actuelle reste inchangée.

+

Si tu n'as pas demandé ce changement, ignore ce message — ton adresse actuelle reste inchangée.

{{ else if eq .Data.locale "ar" }} -

إذا لم تطلب هذا التغيير، يمكنك تجاهل هذه الرسالة — سيبقى بريدك الحالي دون تغيير.

+

إذا لم تطلب هذا التغيير، يمكنك تجاهل هذه الرسالة — سيبقى بريدك الحالي دون تغيير.

{{ else }} -

If you didn't request this change, you can ignore this email — your current address stays the same.

+

If you didn't request this change, you can ignore this email — your current address stays the same.

{{ end }}
-

© ReBreak

+
+

+ rebreak.org +  ·  + {{ if eq .Data.locale "de" }}Datenschutz{{ else if eq .Data.locale "fr" }}Confidentialité{{ else if eq .Data.locale "ar" }}الخصوصية{{ else }}Privacy{{ end }} +

+

© ReBreak

diff --git a/backend/public/templates/invite.html b/backend/public/templates/invite.html index cb55128..f1f2f4e 100644 --- a/backend/public/templates/invite.html +++ b/backend/public/templates/invite.html @@ -4,29 +4,35 @@ ReBreak + + - +
- -
-
ReBreak
+
+ ReBreak +
ReBreak
{{ if eq .Data.locale "de" }} -

Du wurdest zu ReBreak eingeladen

-

Verwende diesen Code in der App, um deinen Account zu aktivieren:

+

Du wurdest zu ReBreak eingeladen

+

Verwende diesen Code in der App, um deinen Account zu aktivieren:

{{ else if eq .Data.locale "fr" }} -

Tu as été invité·e sur ReBreak

-

Utilise ce code dans l'application pour activer ton compte :

+

Tu as été invité·e sur ReBreak

+

Utilise ce code dans l'application pour activer ton compte :

{{ else if eq .Data.locale "ar" }} -

تمت دعوتك إلى ReBreak

-

استخدم هذا الرمز في التطبيق لتفعيل حسابك:

+

تمت دعوتك إلى ReBreak

+

استخدم هذا الرمز في التطبيق لتفعيل حسابك:

{{ else }} -

You've been invited to ReBreak

-

Use this code in the app to activate your account:

+

You've been invited to ReBreak

+

Use this code in the app to activate your account:

{{ end }}
@@ -34,18 +40,23 @@
{{ if eq .Data.locale "de" }} -

Falls du diese Einladung nicht erwartet hast, kannst du diese E-Mail ignorieren.

+

Falls du diese Einladung nicht erwartet hast, kannst du diese E-Mail ignorieren.

{{ else if eq .Data.locale "fr" }} -

Si tu n'attendais pas cette invitation, tu peux ignorer ce message.

+

Si tu n'attendais pas cette invitation, tu peux ignorer ce message.

{{ else if eq .Data.locale "ar" }} -

إذا لم تكن تتوقع هذه الدعوة، يمكنك تجاهل هذه الرسالة.

+

إذا لم تكن تتوقع هذه الدعوة، يمكنك تجاهل هذه الرسالة.

{{ else }} -

If you weren't expecting this invite, you can ignore this email.

+

If you weren't expecting this invite, you can ignore this email.

{{ end }}
-

© ReBreak

+
+

+ rebreak.org +  ·  + {{ if eq .Data.locale "de" }}Datenschutz{{ else if eq .Data.locale "fr" }}Confidentialité{{ else if eq .Data.locale "ar" }}الخصوصية{{ else }}Privacy{{ end }} +

+

© ReBreak

diff --git a/backend/public/templates/magic_link.html b/backend/public/templates/magic_link.html index cc1f54f..8416010 100644 --- a/backend/public/templates/magic_link.html +++ b/backend/public/templates/magic_link.html @@ -4,29 +4,35 @@ ReBreak + + - +
- -
-
ReBreak
+
+ ReBreak +
ReBreak
{{ if eq .Data.locale "de" }} -

Dein Login-Code

-

Gib diesen Code in der App ein, um dich anzumelden:

+

Dein Login-Code

+

Gib diesen Code in der App ein, um dich anzumelden:

{{ else if eq .Data.locale "fr" }} -

Ton code de connexion

-

Saisis ce code dans l'application pour te connecter :

+

Ton code de connexion

+

Saisis ce code dans l'application pour te connecter :

{{ else if eq .Data.locale "ar" }} -

رمز تسجيل الدخول

-

أدخل هذا الرمز في التطبيق لتسجيل الدخول:

+

رمز تسجيل الدخول

+

أدخل هذا الرمز في التطبيق لتسجيل الدخول:

{{ else }} -

Your sign-in code

-

Enter this code in the app to sign in:

+

Your sign-in code

+

Enter this code in the app to sign in:

{{ end }}
@@ -34,18 +40,23 @@
{{ if eq .Data.locale "de" }} -

Falls du keinen Login angefordert hast, kannst du diese E-Mail ignorieren.

+

Falls du keinen Login angefordert hast, kannst du diese E-Mail ignorieren.

{{ else if eq .Data.locale "fr" }} -

Si tu n'as pas demandé à te connecter, ignore ce message.

+

Si tu n'as pas demandé à te connecter, ignore ce message.

{{ else if eq .Data.locale "ar" }} -

إذا لم تطلب تسجيل الدخول، يمكنك تجاهل هذه الرسالة.

+

إذا لم تطلب تسجيل الدخول، يمكنك تجاهل هذه الرسالة.

{{ else }} -

If you didn't request a sign-in, you can ignore this email.

+

If you didn't request a sign-in, you can ignore this email.

{{ end }}
-

© ReBreak

+
+

+ rebreak.org +  ·  + {{ if eq .Data.locale "de" }}Datenschutz{{ else if eq .Data.locale "fr" }}Confidentialité{{ else if eq .Data.locale "ar" }}الخصوصية{{ else }}Privacy{{ end }} +

+

© ReBreak

diff --git a/backend/public/templates/recovery.html b/backend/public/templates/recovery.html index fddc0d0..e90555c 100644 --- a/backend/public/templates/recovery.html +++ b/backend/public/templates/recovery.html @@ -4,29 +4,35 @@ ReBreak + + - +
- -
-
ReBreak
+
+ ReBreak +
ReBreak
{{ if eq .Data.locale "de" }} -

Passwort zurücksetzen

-

Gib diesen Code in der App ein, um ein neues Passwort zu setzen:

+

Passwort zurücksetzen

+

Gib diesen Code in der App ein, um ein neues Passwort zu setzen:

{{ else if eq .Data.locale "fr" }} -

Réinitialise ton mot de passe

-

Saisis ce code dans l'application pour définir un nouveau mot de passe :

+

Réinitialise ton mot de passe

+

Saisis ce code dans l'application pour définir un nouveau mot de passe :

{{ else if eq .Data.locale "ar" }} -

إعادة تعيين كلمة المرور

-

أدخل هذا الرمز في التطبيق لتعيين كلمة مرور جديدة:

+

إعادة تعيين كلمة المرور

+

أدخل هذا الرمز في التطبيق لتعيين كلمة مرور جديدة:

{{ else }} -

Reset your password

-

Enter this code in the app to set a new password:

+

Reset your password

+

Enter this code in the app to set a new password:

{{ end }}
@@ -34,18 +40,23 @@
{{ if eq .Data.locale "de" }} -

Falls du das nicht angefordert hast, kannst du diese E-Mail ignorieren — dein Passwort bleibt unverändert.

+

Falls du das nicht angefordert hast, kannst du diese E-Mail ignorieren — dein Passwort bleibt unverändert.

{{ else if eq .Data.locale "fr" }} -

Si tu n'as pas demandé cette réinitialisation, ignore ce message — ton mot de passe reste inchangé.

+

Si tu n'as pas demandé cette réinitialisation, ignore ce message — ton mot de passe reste inchangé.

{{ else if eq .Data.locale "ar" }} -

إذا لم تطلب إعادة التعيين، تجاهل هذه الرسالة — لن تتغير كلمة المرور.

+

إذا لم تطلب إعادة التعيين، تجاهل هذه الرسالة — لن تتغير كلمة المرور.

{{ else }} -

If you didn't request this, you can ignore this email — your password stays the same.

+

If you didn't request this, you can ignore this email — your password stays the same.

{{ end }}
-

© ReBreak

+
+

+ rebreak.org +  ·  + {{ if eq .Data.locale "de" }}Datenschutz{{ else if eq .Data.locale "fr" }}Confidentialité{{ else if eq .Data.locale "ar" }}الخصوصية{{ else }}Privacy{{ end }} +

+

© ReBreak