@@ -199,130 +199,6 @@ export default function Contact() {
199199 </ div >
200200 </ section >
201201
202- { /* Contact Form */ }
203- < section className = "bg-green-50 p-6 rounded-lg" >
204- < h2 className = "text-2xl font-semibold text-green-900 mb-4 flex items-center" >
205- < span className = "w-8 h-8 bg-green-600 text-white rounded-full flex items-center justify-center text-sm font-bold mr-3" >
206- < Send className = "w-4 h-4" />
207- </ span >
208- Nachricht senden
209- </ h2 >
210- < div className = "ml-11" >
211- < form className = "space-y-6" onSubmit = { handleSubmit ( onSubmit ) } >
212- < div className = "grid md:grid-cols-2 gap-4" >
213- < div >
214- < Label
215- className = "text-gray-700 font-medium"
216- htmlFor = "fromName"
217- >
218- Ihr Name *
219- </ Label >
220- < Input
221- disabled = { isSubmitting }
222- id = "fromName"
223- type = "text"
224- { ...register ( "fromName" ) }
225- className = "mt-1"
226- placeholder = "Erika Musterfrau"
227- />
228- { errors . fromName && (
229- < p className = "text-red-600 text-sm mt-1" >
230- { errors . fromName . message }
231- </ p >
232- ) }
233- </ div >
234- < div >
235- < Label
236- className = "text-gray-700 font-medium"
237- htmlFor = "fromEmail"
238- >
239- E-Mail-Adresse *
240- </ Label >
241- < Input
242- id = "fromEmail"
243- type = "email"
244- { ...register ( "fromEmail" ) }
245- className = "mt-1"
246- disabled = { isSubmitting }
247- 248- />
249- { errors . fromEmail && (
250- < p className = "text-red-600 text-sm mt-1" >
251- { errors . fromEmail . message }
252- </ p >
253- ) }
254- </ div >
255- </ div >
256-
257- < div >
258- < Label
259- className = "text-gray-700 font-medium"
260- htmlFor = "message"
261- >
262- Ihre Nachricht *
263- </ Label >
264- < Textarea
265- id = "message"
266- { ...register ( "message" ) }
267- className = "mt-1 min-h-[120px]"
268- disabled = { isSubmitting }
269- placeholder = "Beschreiben dein Anliegen..."
270- />
271- { errors . message && (
272- < p className = "text-red-600 text-sm mt-1" >
273- { errors . message . message }
274- </ p >
275- ) }
276- </ div >
277-
278- < div >
279- < Label
280- className = "text-gray-700 font-medium"
281- htmlFor = "attachment"
282- >
283- Datei anhängen (optional)
284- </ Label >
285- < Input
286- accept = ".jpg,.jpeg,.png,.webp,.md,.txt,.pdf"
287- className = "h-16 file:mr-4 file:py-3 file:px-4 file:rounded-full file:border-0 file:text-sm file:font-semibold file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100"
288- disabled = { isSubmitting }
289- id = "attachment"
290- onChange = { handleFileChange }
291- type = "file"
292- />
293- { selectedFile && (
294- < p className = "text-sm text-gray-600 mt-1" >
295- Ausgewählt: { selectedFile . name } (
296- { ( selectedFile . size / 1024 / 1024 ) . toFixed ( 2 ) } MB)
297- </ p >
298- ) }
299- < p className = "text-xs text-gray-500 mt-1" >
300- Unterstützte Formate: JPEG, PNG, WebP, MD, TXT, PDF (max.
301- 4MB)
302- </ p >
303- </ div >
304-
305- < Button
306- className = "w-full bg-green-600 hover:bg-green-700 text-white disabled:opacity-50 disabled:cursor-not-allowed"
307- disabled = { isSubmitting }
308- type = "submit"
309- >
310- { isSubmitting ? (
311- < >
312- < div className = "animate-spin rounded-full h-4 w-4 border-b-2 border-white mr-2" > </ div >
313- Wird gesendet...
314- </ >
315- ) : (
316- < >
317- < Send className = "w-4 h-4 mr-2" />
318- Nachricht senden
319- </ >
320- ) }
321- </ Button >
322- </ form >
323- </ div >
324- </ section >
325-
326202 { /* Alternative Contact Methods */ }
327203 < div className = "grid md:grid-cols-2 gap-8" >
328204 < section className = "bg-purple-50 p-6 rounded-lg" >
0 commit comments