3 Commits

Author SHA1 Message Date
chahinebrini
a8e094be9d fix(mail-templates): banner layout — icon left, wordmark centered
Vorher: Icon und 'ReBreak'-Wordmark untereinander (vertikal gestapelt).
Jetzt: 3-Spalten-Tabelle — Icon links (48x48), Wordmark mittig,
gleichgroßer Spacer rechts (52px) für visuelle Mitte.

Icon-Größe von 64x64 → 48x48 reduziert für besseres Höhen-Verhältnis.
2026-05-19 13:34:25 +02:00
chahinebrini
f2545738ee feat(mail-templates): Nunito font, app-icon header, DSGVO footer
- 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
2026-05-19 11:10:49 +02:00
chahinebrini
5434254f74 feat(auth,mail): pw-reset OTP-flow + custom mail templates + account-switch cleanup
- Phase 3 PW-Reset: 3 screens (forgot-password → reset-otp → new-password),
  verifyOtp({type:'recovery'}), new updatePassword() action
- Custom Brevo-Mail templates (backend/public/templates/) — 5 HTMLs with
  go-template i18n (de/en/fr/ar incl. RTL for AR), OTP-only (no link),
  ReBreak branding
- signUp metadata.data.locale aus i18n.language → templates resolven Sprache
- Account-Switch-Bug fix: signOut() resettet alle 10 user-spezifischen stores
  + invalidateMe()
2026-05-19 10:49:23 +02:00