From 14bc991a7b3ea4d8ccbcb7e8180ae5ef88a88d21 Mon Sep 17 00:00:00 2001 From: rxf Date: Mon, 27 Oct 2025 16:38:14 +0100 Subject: [PATCH] Es geht jetzt mal grob --- src/App.jsx | 48 +++++++++--- src/FormContext.jsx | 4 +- src/components/Bemerkungen.jsx | 23 ++++-- src/components/BesucherBar.jsx | 65 ++++++++-------- src/components/FandStattVer.jsx | 53 ++++++++----- src/components/LastButtons.jsx | 23 +++++- src/components/Modal.css | 127 ++++++++++++++++++++++++++++++++ src/components/Modal.jsx | 39 ++++++++++ src/components/NeinPfad.jsx | 21 ------ src/components/Spende.jsx | 4 +- src/components/Verschoben.jsx | 64 +++++++++++++--- 11 files changed, 370 insertions(+), 101 deletions(-) create mode 100644 src/components/Modal.css create mode 100644 src/components/Modal.jsx delete mode 100644 src/components/NeinPfad.jsx diff --git a/src/App.jsx b/src/App.jsx index c4cf018..65a01cd 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -7,7 +7,7 @@ import Spende from './components/Spende.jsx' import LastLine from './components/LastLine.jsx' import Bemerkungen from './components/Bemerkungen.jsx' import LastButtons from './components/LastButtons.jsx' -import NeinPfad from './components/NeinPfad.jsx' +import Verschoben from './components/Verschoben.jsx' function AppContent() { @@ -41,7 +41,7 @@ function AppContent() { // Schritt 0: ja/nein - Auswahl components.push( - 1} /> + 1} /> ) if (schritt === 0) return components @@ -50,7 +50,7 @@ function AppContent() { if (pfad === 'ja') { // Schritt 1: Besucher-Anzahl if (schritt >= 1) { - components.push( 1} /> + components.push( 1} /> ) } @@ -62,18 +62,47 @@ function AppContent() { // Schritt 3: Betrag der Spende (nur bei Bar-Spende) if ((schritt >= 3) && (formData.spendenArt === 'bar')) { - - components.push( 3} /> + components.push( 3} /> ) } - - // Schritt 3: Betrag der Spende (nur bei Bar-Spende) - if (schritt >= 4) { - components.push( 4} /> + // Schritt 4 (bei Bar-Spende) oder Schritt 3 (bei anderen Spenden): Bemerkungen + const bemerkungsSchritt = (formData.spendenArt === 'bar') ? 4 : 3 + if (schritt >= bemerkungsSchritt) { + components.push( bemerkungsSchritt} /> ) } + // Schritt 5 (bei Bar-Spende) oder Schritt 4 (bei anderen Spenden): unterste Buttons + const endeSchritt = (formData.spendenArt === 'bar') ? 5 : 4 + if (schritt >= endeSchritt) { + components.push( + ) + } + + } + // NEIN - Pfad + if (pfad === 'nein') { + + // Schritt 1: abgesagt / verschoben + if (schritt >= 1) { + components.push( + 1} /> + ) + } + + // Schritt 2: Ende wenn abgesagt bzw. neues Datum bei verschoben + if (schritt >= 2 && formData.stattgefunden === 'verschoben') { + components.push( 2} /> + ) + } + + // Schritt 4 (bei verschoben) oder Schritt 3 (bei absage): unterste Buttons + const endeNeinSchritt = (formData.stattgefunden === 'verschoben') ? 3 : 2 + if (schritt >= endeNeinSchritt) { + components.push( + ) + } } return components @@ -89,7 +118,6 @@ function AppContent() {

Nachbearbeitung

{renderCoponents().map(component => component)} - ) diff --git a/src/FormContext.jsx b/src/FormContext.jsx index 77ce06c..b9a3f95 100644 --- a/src/FormContext.jsx +++ b/src/FormContext.jsx @@ -14,7 +14,7 @@ export function FormProvider({ children }) { spendenArt: '', barspende: '', bemerkungen: '', - neuertermin: '1900-01-01' + neuertermin: '1900-01-01T00:00', // Weitere Felder können hier hinzugefügt werden }) @@ -39,7 +39,7 @@ export function FormProvider({ children }) { spendenArt: '', barspende: '', bemerkungen: '', - neuertermin: '1900-01-01' + neuertermin: '1900-01-01T00:00' }) } diff --git a/src/components/Bemerkungen.jsx b/src/components/Bemerkungen.jsx index 200723f..021051f 100644 --- a/src/components/Bemerkungen.jsx +++ b/src/components/Bemerkungen.jsx @@ -1,12 +1,25 @@ -export default function Bemerkungen() { +import { useState } from 'react' +import { useFormData } from '../FormContext' - return( +export default function Bemerkungen({ onNext, isCompleted }) { + + const { formData, updateFormData } = useFormData() + const [wert, setWert] = useState(formData.bemerkungen || '') + + + const handleOK = () => { + updateFormData('bemerkungen', wert) + onNext() + } + + + return (

Bemerkungen (optional):

-