ein stück weiter - noch lange nicht fertig !

This commit is contained in:
rxf
2025-10-27 14:21:57 +01:00
parent e3af52a2a0
commit 5a4b4a1db1
11 changed files with 176 additions and 475 deletions

59
src/FormContext.jsx Normal file
View File

@@ -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 (
<FormContext.Provider value={{ formData, updateFormData, resetFormData }}>
{children}
</FormContext.Provider>
)
}
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 <FormProvider> umschlossen ist.')
}
return context
}