ein stück weiter - noch lange nicht fertig !
This commit is contained in:
		
							
								
								
									
										59
									
								
								src/FormContext.jsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								src/FormContext.jsx
									
									
									
									
									
										Normal 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 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user