This commit is contained in:
2026-02-01 02:10:24 +01:00
parent ee04d2422c
commit a4ea42a043
78 changed files with 71 additions and 669 deletions

View File

@@ -1,5 +1,7 @@
"use server";
import client, { ensureAuthenticated } from "@/lib/directus";
import { createItem } from "@directus/sdk";
import { sendEmail } from "@/lib/mail/mailer";
import ContactEmail from "@/components/emails/ContactEmail";
import React from "react";
@@ -18,10 +20,34 @@ export async function sendContactFormAction(formData: FormData) {
return { success: false, error: "Missing required fields" };
}
// 1. Save to Directus
try {
await ensureAuthenticated();
if (productName) {
await client.request(createItem('product_requests', {
product_name: productName,
email,
message
}));
logger.info('Product request stored in Directus');
} else {
await client.request(createItem('contact_submissions', {
name,
email,
message
}));
logger.info('Contact submission stored in Directus');
}
} catch (error) {
logger.error('Failed to store submission in Directus', { error });
// We continue anyway to try sending the email, but maybe we should report this
}
// 2. Send Email
logger.info('Sending contact form email', { email, productName });
const subject = productName
? `Product Inquiry: ${productName}`
? `Product Inquiry: ${productName}`
: "New Contact Form Submission";
const result = await sendEmail({