import { useState, useEffect } from 'react'; import { useFormValidation, validators } from '../hooks/useFormValidation'; import { Save, RotateCcw, Check } from 'lucide-react'; export default function PersonalForm({ data, onUpdate }) { const [formData, setFormData] = useState(data); const [saved, setSaved] = useState(false); const { errors, validate, clearError } = useFormValidation({ name: [validators.required('Name ist erforderlich')], title: [validators.required('Titel ist erforderlich')], email: [validators.required('E-Mail ist erforderlich'), validators.email()], github: [validators.url()], linkedin: [validators.url()] }); useEffect(() => { setFormData(data); }, [data]); const handleChange = (e) => { const { name, value } = e.target; setFormData(prev => ({ ...prev, [name]: value })); clearError(name); }; const handleSubmit = (e) => { e.preventDefault(); if (validate(formData)) { onUpdate(formData); setSaved(true); setTimeout(() => setSaved(false), 2000); } }; const handleReset = () => { setFormData(data); }; return (
); }