From 9519f0dbca59793521e5aba76282d23dce15e3e0 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Mon, 1 Jun 2026 08:37:28 +0200 Subject: [PATCH] =?UTF-8?q?EmailProviders-Settings:=20Input=20"Bezeichnung?= =?UTF-8?q?=20im=20UI"=20f=C3=BCr=20customerEmailLabel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Das customerEmailLabel-Feld existierte im Backend (samt Update-Logik und Public-Endpoint), war aber im UI nicht erreichbar – das Label wurde immer nur aus der Domain abgeleitet. Neuer optionaler Input "Bezeichnung im UI" unter dem Domain-Hinweis. Leer = automatisch aus Domain ableiten (bisheriges Verhalten), ausgefüllt = überschreibt die Ableitung (z.B. "interne Kunden Email Adressen" als Tab-Label). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/pages/settings/EmailProviders.tsx | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/frontend/src/pages/settings/EmailProviders.tsx b/frontend/src/pages/settings/EmailProviders.tsx index fbb728dd..31ecfd2f 100644 --- a/frontend/src/pages/settings/EmailProviders.tsx +++ b/frontend/src/pages/settings/EmailProviders.tsx @@ -31,6 +31,11 @@ interface ProviderFormData { username: string; password: string; domain: string; + // Optional: Bezeichnung im UI. Wenn leer, wird sie aus der Domain abgeleitet + // (z.B. "stressfrei-wechseln.de" → "Stressfrei-Wechseln"). Hier kann ein + // freier Override gesetzt werden (z.B. "interne Kunden Email Adressen"), + // ohne die echte Domain zu ändern. + customerEmailLabel: string; defaultForwardEmail: string; // Verschlüsselungs-Einstellungen imapEncryption: MailEncryption; @@ -51,6 +56,7 @@ const emptyForm: ProviderFormData = { username: '', password: '', domain: 'stressfrei-wechseln.de', + customerEmailLabel: '', defaultForwardEmail: '', imapEncryption: 'SSL', smtpEncryption: 'SSL', @@ -140,6 +146,7 @@ export default function EmailProviders() { username: config.username || '', password: '', // Passwort wird nicht geladen domain: config.domain, + customerEmailLabel: config.customerEmailLabel || '', defaultForwardEmail: config.defaultForwardEmail || '', imapEncryption: config.imapEncryption ?? 'SSL', smtpEncryption: config.smtpEncryption ?? 'SSL', @@ -288,6 +295,7 @@ export default function EmailProviders() { apiKey: formData.apiKey, // Leerer String wird im Backend zu null username: formData.username, domain: formData.domain, + customerEmailLabel: formData.customerEmailLabel.trim() || null, defaultForwardEmail: formData.defaultForwardEmail, imapEncryption: formData.imapEncryption, smtpEncryption: formData.smtpEncryption, @@ -572,6 +580,20 @@ export default function EmailProviders() { und als Bezeichnung im UI angezeigt ("{formData.domain ? formData.domain.split('.')[0].split('-').map(s => s.charAt(0).toUpperCase() + s.slice(1)).join('-') : 'Meine-Domain'}").

+
+ setFormData({ ...formData, customerEmailLabel: e.target.value })} + placeholder={formData.domain ? formData.domain.split('.')[0].split('-').map(s => s.charAt(0).toUpperCase() + s.slice(1)).join('-') : 'aus Domain ableiten'} + maxLength={60} + /> +

+ Überschreibt die aus der Domain abgeleitete Bezeichnung – z.B. + "interne Kunden Email Adressen". Leer lassen für Auto-Ableitung. +

+
+