diff --git a/docs/OFFENE-DATEN.md b/docs/OFFENE-DATEN.md index 6934dcf..d249989 100644 --- a/docs/OFFENE-DATEN.md +++ b/docs/OFFENE-DATEN.md @@ -110,6 +110,7 @@ Zwillinge. Dazu: Dürfen später Jahreszahlen ergänzt werden? | 3.13 | Zusage im Hero-Knopf: „30 Min · kostenfrei“ – bestätigen oder ändern. | zu bestätigen | | 3.14 | Zielgruppen-Reihenfolge: Unternehmen zuerst oder Einzelpersonen zuerst? Reiner Texttausch in „Leistungen“ und Hero. | offen | | 3.15 | Messeseite `/her-career/`: Hero-Text, Themen-Zeilen und Kontakt-Überschrift sind von uns formuliert (Ton der Website, Inhalte der Rückwand) – von Anelia gegenlesen. | zu bestätigen | +| 3.17 | **Messeseite, Hinweis unter dem Absenden-Knopf.** Auf Wunsch sind dort Hinweiszeile und Datenschutz-Link entfernt. Seit dem Umbau überträgt das Formular an `/api/contact` (Datenschutz Ziffer 5) – die Zeile ist damit die Information nach Art. 13 DSGVO am Ort der Erhebung; erreichbar bleibt die Erklärung nur über den Fuß. Vor dem Livegang entscheiden: zurücknehmen oder bewusst so lassen. | zu entscheiden | | 3.16 | Subdomain `her-career.anelia-wolf.com`: DNS, Zertifikat und Vhost einrichten. Muss **vor dem 22.10.2026** stehen, die Adresse ist gedruckt (`docs/SUBDOMAIN-HERCAREER.md`). Wer: webklar. | offen | --- diff --git a/src/components/ui/ContactForm.tsx b/src/components/ui/ContactForm.tsx index 29e5966..923e112 100644 --- a/src/components/ui/ContactForm.tsx +++ b/src/components/ui/ContactForm.tsx @@ -102,6 +102,15 @@ export function ContactForm({ error: form.error, }[status]; + /* Hinweis und Datenschutz-Link folgen dem Inhalt: Wo beide Texte leer sind, bleibt + die Zeile im Ruhezustand leer (Messeseite, src/content/her-career.ts). Rückmeldung + und Rückfall-Link hängen NICHT daran – ohne sie verschwände eine Nachricht + kommentarlos, sobald der Dienst nicht antwortet. Das

steht deshalb immer im + Dokument: Ein aria-live-Bereich, den es beim Absenden noch gar nicht gab, wird + von Screenreadern nicht zuverlässig vorgelesen. */ + const fallbackLink = status === "error" && Boolean(mailtoHref); + const showPrivacy = Boolean(form.privacy && privacyHref); + return (

@@ -155,11 +164,12 @@ export function ContactForm({ aria-live="polite" className="max-w-[52ch] font-mono text-[11px] leading-relaxed tracking-[0.04em] text-fg-muted" > - {note}{" "} - {status === "error" && mailtoHref ? ( + {note} + {note && (fallbackLink || showPrivacy) ? " " : null} + {fallbackLink ? ( ) : ( - + showPrivacy && )}

diff --git a/src/content/her-career.ts b/src/content/her-career.ts index 61445eb..30feb60 100644 --- a/src/content/her-career.ts +++ b/src/content/her-career.ts @@ -132,9 +132,13 @@ export const herCareer = { ...contactHome, numeral: "04", h2: { before: "Lass uns ", em: "weiterreden", after: "." } satisfies Headline, - /* Hinweiszeile und Datenschutz-Link entfallen hier (Kundenwunsch, 07.09.2026); - die Rückmeldung nach dem Absenden („opened“) bleibt. Beide Rechtstexte stehen - weiter im Fuß jeder Seite. */ + /* Hinweiszeile und Datenschutz-Link entfallen hier (Kundenwunsch, 07.09.2026). + Rückmeldung und Rückfall-Link beim Absenden bleiben. ACHTUNG: Seit dem Umbau + des Formulars („Kontaktformular verschickt wirklich“) gehen die Eingaben an + /api/contact – die Datenschutzerklärung beschreibt das in Ziffer 5. Damit ist + der Hinweis neben dem Formular eine Information nach Art. 13 DSGVO zum + Zeitpunkt der Erhebung; erreichbar bleibt sie nur über den Fuß. Vor dem + Livegang mit Anelia klären (docs/OFFENE-DATEN.md, Punkt 3.17). */ form: { ...contactHome.form, subject: "herCAREER Expo 2026", note: "", privacy: "" }, }, } as const;