continued the kita-planer

This commit is contained in:
t.indorf
2026-05-08 14:32:14 +02:00
parent b686e714ff
commit 7aff691803
85 changed files with 9434 additions and 588 deletions
+50
View File
@@ -0,0 +1,50 @@
"use server";
import { createElement } from "react";
import { ContactRequestEmail } from "@/emails/ContactRequestEmail";
import {
contactRequestSchema,
contactRequestTypeLabels,
type ContactRequestInput,
} from "@/lib/contact-schema";
import { getAppEmailConfigError, sendAppEmail } from "@/lib/mail";
const DEFAULT_ADMIN_EMAIL = "kontakt@kita-planer.local";
export async function submitContactRequest(data: ContactRequestInput) {
const parsed = contactRequestSchema.safeParse(data);
if (!parsed.success) {
return {
success: false,
error: "Bitte prüfe deine Eingaben und versuche es erneut.",
};
}
const configError = getAppEmailConfigError();
if (configError) {
return {
success: false,
error: configError,
};
}
const adminEmail = process.env.ADMIN_EMAIL || DEFAULT_ADMIN_EMAIL;
const inquiryLabel = contactRequestTypeLabels[parsed.data.requestType];
const result = await sendAppEmail({
to: adminEmail,
subject: `Kontaktanfrage: ${inquiryLabel} von ${parsed.data.name}`,
replyTo: parsed.data.email,
react: createElement(ContactRequestEmail, parsed.data),
});
if (!result.success) {
return {
success: false,
error: result.error,
};
}
return { success: true };
}