-
-
- Sonderführung vom
{datum}
-
- für {name}
- Nachbearbeitung
-
- // Alle Komponenten der Reihe nach anzeigen
- {renderCoponents().map(component => component)}
-
-
+
+
+
+ Sonderführung vom
{datum}
+
+ für {name}
+ Nachbearbeitung
+ {renderCoponents().map(component => component)}
+
+
+
+ )
+}
+
+function App() {
+ return (
+
+
)
}
diff --git a/src/App.jsx_claude b/src/App.jsx_claude
deleted file mode 100644
index 342fba3..0000000
--- a/src/App.jsx_claude
+++ /dev/null
@@ -1,202 +0,0 @@
-import { useState } from 'react'
-import './App.css'
-import FandStattVer from './components/FandStattVer.jsx'
-import BesucherBar from './components/BesucherBar.jsx'
-import Spende from './components/Spende.jsx'
-import LastLine from './components/LastLine.jsx'
-import Bemerkungen from './components/Bemerkungen.jsx'
-import Fertig from './components/Fertig.jsx'
-import LastButtons from './components/LastButtons.jsx'
-import Verschoben from "./components/Verschoben.jsx"
-import NeinPfad from './components/NeinPfad.jsx'
-
-function App() {
- const datum = "2025-10-23"
- const name = "Meiehofer"
- const version = "1.0.0"
- const vdate = "2025-11-23"
- const isBar = true
-
- // State für die Navigation
- const [schritt, setSchritt] = useState(0)
- const [pfad, setPfad] = useState('') // 'ja' oder 'nein'
-
- // Callback für FandStattVer, wenn OK geklickt wird
- const handleFandStattVerNext = (auswahl) => {
- setPfad(auswahl)
- setSchritt(1)
- }
-
- // Callback für alle anderen Komponenten
- const handleNext = () => {
- setSchritt(schritt + 1)
- }
-
- // Bestimme, welche Komponenten angezeigt werden sollen
- const renderComponents = () => {
- const components = []
-
- // Schritt 0: FandStattVer (immer zuerst)
- components.push(
-
0}
- />
- )
-
- // Wenn noch bei Schritt 0, zeige nur FandStattVer
- if (schritt === 0) {
- return components
- }
-
- // Pfad "JA"
- if (pfad === 'ja') {
- // Schritt 1: BesucherBar (Anzahl)
- if (schritt >= 1) {
- components.push(
- 1}
- />
- )
- }
-
- // Schritt 2: Spende
- if (schritt >= 2) {
- components.push(
- 2}
- />
- )
- }
-
- // Schritt 3: BesucherBar (Barspende) - nur wenn isBar true
- if (schritt >= 3 && isBar) {
- components.push(
- 3}
- />
- )
- }
-
- // Schritt 4: Bemerkungen
- if (schritt >= 4) {
- components.push(
- 4}
- />
- )
- }
-
- // Schritt 5: LastButtons
- if (schritt >= 5) {
- components.push(
- 5}
- />
- )
- }
-
- // Schritt 6: Fertig
- if (schritt >= 6) {
- components.push(
-
- )
- }
- }
-
- // Pfad "NEIN"
- if (pfad === 'nein') {
- // Schritt 1: Verschoben
- if (schritt >= 1) {
- components.push(
- 1}
- />
- )
- }
-
- // Schritt 2: NeinPfad
- if (schritt >= 2) {
- components.push(
- 2}
- />
- )
- }
-
- // Schritt 3: Bemerkungen
- if (schritt >= 3) {
- components.push(
- 3}
- />
- )
- }
-
- // Schritt 4: LastButtons
- if (schritt >= 4) {
- components.push(
- 4}
- />
- )
- }
-
- // Schritt 5: Fertig
- if (schritt >= 5) {
- components.push(
-
- )
- }
- }
-
- return components
- }
-
- return (
- <>
-
-
-
- Sonderführung vom
{datum}
-
- für {name}
- Nachbearbeitung
-
-
- {/* Zeige alle Komponenten bis zum aktuellen Schritt */}
- {renderComponents().map(component => component)}
-
-
-
- >
- )
-}
-
-export default App
diff --git a/src/FormContext.jsx b/src/FormContext.jsx
new file mode 100644
index 0000000..77ce06c
--- /dev/null
+++ b/src/FormContext.jsx
@@ -0,0 +1,59 @@
+// ========================================
+// FormContext.jsx - Globaler State für alle Formulardaten
+// ========================================
+import { createContext, useContext, useState } from 'react'
+
+const FormContext = createContext()
+
+export function FormProvider({ children }) {
+// console.log('🚀 FormProvider initialisiert')
+
+ const [formData, setFormData] = useState({
+ stattgefunden: '',
+ besucherAnzahl: '',
+ spendenArt: '',
+ barspende: '',
+ bemerkungen: '',
+ neuertermin: '1900-01-01'
+ // Weitere Felder können hier hinzugefügt werden
+ })
+
+ const updateFormData = (field, value) => {
+ //console.log('📝 FormContext UPDATE:', field, '=', value)
+ setFormData(prev => {
+ const newData = {
+ ...prev,
+ [field]: value
+ }
+ //console.log('📊 FormContext NEU:', newData)
+ return newData
+ })
+ }
+
+ const resetFormData = () => {
+ //console.log('🔄 FormContext RESET')
+
+ setFormData({
+ stattgefunden: '',
+ besucherAnzahl: '',
+ spendenArt: '',
+ barspende: '',
+ bemerkungen: '',
+ neuertermin: '1900-01-01'
+ })
+ }
+
+ return (
+
+ {children}
+
+ )
+}
+
+export function useFormData() {
+ const context = useContext(FormContext)
+ if (!context) {
+ throw new Error('useFormData muss innerhalb von FormProvider verwendet werden. Stelle sicher, dass deine Komponente von umschlossen ist.')
+ }
+ return context
+}
diff --git a/src/components/BesucherBar.jsx b/src/components/BesucherBar.jsx
index b76714a..5889456 100644
--- a/src/components/BesucherBar.jsx
+++ b/src/components/BesucherBar.jsx
@@ -1,26 +1,52 @@
-import { useState, useSyncExternalStore } from 'react'
+import { useState, useEffect } from 'react'
+import { useFormData } from '../FormContext'
-export default function BesucherBar({title, euro, onNext, isCompleted}) {
+export default function BesucherBar({ title, euro, onNext, isCompleted }) {
-const [wert, setWert] = useState('')
-const handleOK = () => {
- if (wert) {
- onNext()
- } else {
- alert('Bitte einen Wert eingeben')
+ const { formData, updateFormData } = useFormData()
+
+ // Bestimme das Feld basierend auf dem Titel
+ const fieldName = title.includes('Barspende') ? 'barspende' : 'besucherAnzahl'
+
+ // DEBUG: Zeige formData beim Laden
+ console.log('🔍 BesucherBar geladen:', title)
+ console.log('📊 Aktuelles formData:', formData)
+ console.log('🔑 Verwende Feld:', fieldName)
+ console.log('💾 Gespeicherter Wert:', formData[fieldName])
+
+
+
+ const [wert, setWert] = useState(formData[fieldName] || '')
+
+ // DEBUG: Zeige State-Änderungen
+ useEffect(() => {
+ console.log('✏️ Wert geändert für', fieldName, ':', wert)
+ }, [wert, fieldName])
+
+
+ const handleOK = () => {
+ if (wert) {
+ updateFormData(fieldName, wert)
+
+ console.log('✅ Gespeichert! Neues formData:', formData)
+
+
+ onNext()
+ } else {
+ alert('Bitte einen Wert eingeben')
+ }
}
-}
-return(
+ return (
+
)
}
diff --git a/src/components/FandStattVer.jsx b/src/components/FandStattVer.jsx
index 31aeb7f..b1b21bf 100644
--- a/src/components/FandStattVer.jsx
+++ b/src/components/FandStattVer.jsx
@@ -1,12 +1,12 @@
import { useState } from 'react'
-import { useFormData } from './FormContext.jsx'
+import { useFormData } from '../FormContext'
-export default function FandStattVer({left, right, onNext, isCompleted}) {
+export default function FandStattVer({left, right, onNext}) {
const { formData, updateFormData } = useFormData()
const [auswahl, setAuswahl] = useState(formData.stattgefunden || '')
const handleOK = () => {
if(!auswahl) {
- alert('Bitte ja/nein wäölen')
+ alert('Bitte ja/nein wählen')
return
}
updateFormData('stattgefunden', auswahl)
diff --git a/src/components/FandStattVer.jsx_claude b/src/components/FandStattVer.jsx_claude
deleted file mode 100644
index 9914d0c..0000000
--- a/src/components/FandStattVer.jsx_claude
+++ /dev/null
@@ -1,55 +0,0 @@
-import { useState } from 'react'
-
-function FandStattVer({ left, right, onNext, isCompleted }) {
- const [auswahl, setAuswahl] = useState('')
-
- const handleOK = () => {
- if (auswahl) {
- // Rufe onNext mit der Auswahl ('ja' oder 'nein') auf
- onNext(auswahl)
- } else {
- alert('Bitte eine Option auswählen')
- }
- }
-
- return (
-
- )
-}
-
-export default FandStattVer
diff --git a/src/components/FormContext.jsx b/src/components/FormContext.jsx
deleted file mode 100644
index f402e29..0000000
--- a/src/components/FormContext.jsx
+++ /dev/null
@@ -1,34 +0,0 @@
-// ========================================
-// FormContext.jsx - Globaler State für alle Formulardaten
-// ========================================
-import { createContext, useContext, useState } from 'react'
-
-const FormContext = createContext()
-
-export function FormProvider({ children }) {
- const [formData, setFormData] = useState({
- stattgefunden: '',
- anzahl: '',
- spende: '',
- betrag: '',
- bemerkungen: '',
- neuertermin: ''
- })
-
- const updateFormData = (field, value) => {
- setFormData(prev => ({
- ...prev,
- [field]: value
- }))
- }
-
- return (
-
- {children}
-
- )
-}
-
-export function useFormData() {
- return useContext(FormContext)
-}
diff --git a/src/components/Spende.jsx b/src/components/Spende.jsx
index 1e8ec48..6089b1d 100644
--- a/src/components/Spende.jsx
+++ b/src/components/Spende.jsx
@@ -1,67 +1,50 @@
import { useState } from 'react'
-import { useFormData } from './FormContext'
+import { useFormData } from '../FormContext'
export default function Spende({ onNext, isCompleted }) {
- const { formData, updateFormData } = useFormData()
- const [spende, setSpende] = useState(formData.spendenArt || '')
- const [betrag, setBetrag] = useState(formData.spendenBetrag || '')
- const handleOK = () => {
- if (!spende) {
- alert('Bitte wähle eine Spendenart aus')
- return
- }
- updateFormData('spende', spende)
- updateFormData('betrag', betrag)
- onNext()
+ const { formData, updateFormData } = useFormData()
+ // Initialisiere State mit dem Wert aus formData (falls vorhanden)
+ const [spendenArt, setSpendenArt] = useState(formData.spendenArt || '')
+
+ const handleRadioChange = (e) => {
+ const art = e.target.value
+ setSpendenArt(art)
+ updateFormData('spendenArt', art)
+ if (art !== 'bar') {
+ onNext()
+ }
}
return (