US04-02: Trainerprofil (Platzhalter) und Kontakt mit Weiterleitung zu tri-hub.de/kontakt#kontaktinfos #9

Merged
3019492 merged 1 commits from feature_US04-02 into dev_experimental 2026-09-29 23:04:52 +02:00
Collaborator

Was

Neuer Bereich „Vereinbare ein persönliches Gespräch“ unter dem Ablauf (US04-02).

User Story

Als Besucher möchte ich über ein Kontaktformular auf der Website den Trainer
anschreiben können, um zu klären, ob die Ernährungsberatung zu mir passt.

Geänderte Dateien

  • ernaehrungsberatung.html: neue Sektion #kontakt, Einbindung kontakt.css, Nav-Link „Kontakt“
  • css/sections/kontakt.css (neu)

Checkliste

  • Auf der Landing Page gibt es einen gut sichtbaren Kontaktbereich neben dem Trainer.
  • Der Button „Zum Kontaktformular“ führt zu https://tri-hub.de/kontakt.

Offene Punkte

Ursache: tri-hub.de baut die Inhalte per JavaScript auf. Der Browser sucht den
Anker, bevor der Abschnitt existiert (Timing-Problem, abhängig von Gerät,
Verbindung und Cache).

Lösung: Nur auf tri-hub.de möglich. Nach dem Rendern selbst zum Anker scrollen
(Scroll-to-Hash).

Code Beispiel:
import { useEffect } from "react";
import { useLocation } from "react-router-dom";

// Scrollt nach dem Rendern zum Anker aus der URL (z. B. /kontakt#kontaktinfos).
// Versucht es bis zu 2 Sekunden lang, falls der Abschnitt erst später erscheint.
export function ScrollToHash() {
const { pathname, hash } = useLocation();

useEffect(() => {
if (!hash) return;
let tries = 0;
const timer = setInterval(() => {
const el = document.getElementById(hash.slice(1));
if (el || ++tries > 20) {
clearInterval(timer);
el?.scrollIntoView({ behavior: "smooth", block: "start" });
}
}, 100);
return () => clearInterval(timer);
}, [pathname, hash]);

return null;
}

Testen

  1. ernaehrungsberatung.html öffnen, Nav-Link „Kontakt“ → springt zum neuen Bereich
  2. „Zum Kontaktformular“ → öffnet tri-hub.de/kontakt
  3. Fensterbreite verkleinern: Karten stehen ab ca. 1100 px untereinander
## Was Neuer Bereich „Vereinbare ein persönliches Gespräch“ unter dem Ablauf (US04-02). ## User Story Als Besucher möchte ich über ein Kontaktformular auf der Website den Trainer anschreiben können, um zu klären, ob die Ernährungsberatung zu mir passt. ## Geänderte Dateien - ernaehrungsberatung.html: neue Sektion #kontakt, Einbindung kontakt.css, Nav-Link „Kontakt“ - css/sections/kontakt.css (neu) ## Checkliste - [x] Auf der Landing Page gibt es einen gut sichtbaren Kontaktbereich neben dem Trainer. - [x] Der Button „Zum Kontaktformular“ führt zu https://tri-hub.de/kontakt. ## Offene Punkte - Sprung zu #kontaktinfos (Kunde) Der Link https://tri-hub.de/kontakt#kontaktinfos ist korrekt, springt aber nur manchmal zum Abschnitt. Ursache: tri-hub.de baut die Inhalte per JavaScript auf. Der Browser sucht den Anker, bevor der Abschnitt existiert (Timing-Problem, abhängig von Gerät, Verbindung und Cache). Lösung: Nur auf tri-hub.de möglich. Nach dem Rendern selbst zum Anker scrollen (Scroll-to-Hash). Code Beispiel: import { useEffect } from "react"; import { useLocation } from "react-router-dom"; // Scrollt nach dem Rendern zum Anker aus der URL (z. B. /kontakt#kontaktinfos). // Versucht es bis zu 2 Sekunden lang, falls der Abschnitt erst später erscheint. export function ScrollToHash() { const { pathname, hash } = useLocation(); useEffect(() => { if (!hash) return; let tries = 0; const timer = setInterval(() => { const el = document.getElementById(hash.slice(1)); if (el || ++tries > 20) { clearInterval(timer); el?.scrollIntoView({ behavior: "smooth", block: "start" }); } }, 100); return () => clearInterval(timer); }, [pathname, hash]); return null; } ## Testen 1. ernaehrungsberatung.html öffnen, Nav-Link „Kontakt“ → springt zum neuen Bereich 2. „Zum Kontaktformular“ → öffnet tri-hub.de/kontakt 3. Fensterbreite verkleinern: Karten stehen ab ca. 1100 px untereinander
3019492 added 1 commit 2026-09-29 22:37:47 +02:00
3019492 requested review from 3015351 2026-09-29 22:38:04 +02:00
3019492 requested review from 3014931 2026-09-29 22:38:04 +02:00
3019492 requested review from 3016801 2026-09-29 22:38:04 +02:00
3014931 approved these changes 2026-09-29 22:39:35 +02:00
3019492 merged commit 5baf27068c into dev_experimental 2026-09-29 23:04:52 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: 3015351/PM_Project#9
There is no content yet.