diff --git a/src/lib/appwrite.ts b/src/lib/appwrite.ts index 703d20e..5b7ab4b 100644 --- a/src/lib/appwrite.ts +++ b/src/lib/appwrite.ts @@ -37,15 +37,31 @@ export type ContactFormData = { export async function createContactDocument(data: ContactFormData) { if (!_databases) _databases = getDatabases(); - return _databases.createDocument( - CONTACT_DATABASE_ID, - CONTACT_COLLECTION_ID, - ID.unique(), - { - name: data.name, - email: data.email, - company: data.company, - message: data.message, - } - ); + const docId = ID.unique(); + // #region agent log + fetch('http://localhost:7243/ingest/8d1383cf-9102-464e-a10c-b6b8ee60ecff',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'appwrite.ts:createContactDocument',message:'before createDocument',data:{docId},timestamp:Date.now(),hypothesisId:'C'})}).catch(()=>{}); + // #endregion + try { + const result = await _databases.createDocument( + CONTACT_DATABASE_ID, + CONTACT_COLLECTION_ID, + docId, + { + name: data.name, + email: data.email, + company: data.company, + message: data.message, + } + ); + // #region agent log + fetch('http://localhost:7243/ingest/8d1383cf-9102-464e-a10c-b6b8ee60ecff',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'appwrite.ts:createContactDocument',message:'createDocument resolved',data:{}},timestamp:Date.now(),hypothesisId:'A'})}).catch(()=>{}); + // #endregion + return result; + } catch (e) { + // #region agent log + const errObj = e instanceof Error ? { message: e.message, stack: e.stack, name: e.name } : { message: String(e) }; + fetch('http://localhost:7243/ingest/8d1383cf-9102-464e-a10c-b6b8ee60ecff',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'appwrite.ts:createContactDocument catch',message:'createDocument rejected',data:errObj,timestamp:Date.now(),hypothesisId:'A,B,C,D,E'})}).catch(()=>{}); + // #endregion + throw e; + } } diff --git a/src/pages/Contact.tsx b/src/pages/Contact.tsx index 70682d8..48726b5 100644 --- a/src/pages/Contact.tsx +++ b/src/pages/Contact.tsx @@ -30,15 +30,25 @@ const Contact = () => { const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); - + // #region agent log + fetch('http://localhost:7243/ingest/8d1383cf-9102-464e-a10c-b6b8ee60ecff',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'Contact.tsx:handleSubmit',message:'submit started',data:{hasFormData:!!formData},timestamp:Date.now(),hypothesisId:'E'})}).catch(()=>{}); + // #endregion try { await createContactDocument(formData); + // #region agent log + fetch('http://localhost:7243/ingest/8d1383cf-9102-464e-a10c-b6b8ee60ecff',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'Contact.tsx:handleSubmit',message:'createContactDocument resolved',data:{},timestamp:Date.now(),hypothesisId:'A'})}).catch(()=>{}); + // #endregion toast({ title: "Nachricht gesendet!", description: "Wir melden uns innerhalb von 24 Stunden bei Ihnen.", }); setFormData({ name: "", email: "", company: "", message: "" }); } catch (err) { + // #region agent log + const errObj = err instanceof Error ? { message: err.message, stack: err.stack, name: err.name } : { message: String(err) }; + fetch('http://localhost:7243/ingest/8d1383cf-9102-464e-a10c-b6b8ee60ecff',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'Contact.tsx:handleSubmit catch',message:'createContactDocument rejected',data:errObj,timestamp:Date.now(),hypothesisId:'A,B,C,D,E'})}).catch(()=>{}); + if (typeof console !== 'undefined' && err instanceof Error) console.error('[Contact] createContactDocument failed', err.message, err.stack); + // #endregion const message = err instanceof Error ? err.message : "Speichern fehlgeschlagen."; toast({ variant: "destructive",