feat: redesign page heroes, implement organic markers, and streamline contact flow
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 6s
Build & Deploy / 🧪 QA (push) Failing after 1m24s
Build & Deploy / 🏗️ Build (push) Failing after 4m3s
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🩺 Health Check (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 5s

- Refined hero sections for About, Blog, Websites, and Case Studies for a bespoke industrial entry point.
- Redesigned Marker component using layered SVG paths for an organic, hand-drawn highlighter effect.
- Restored technical precision in ArchitectureVisualizer with refined line thickness.
- Streamlined contact page by removing generic headers and prioritizing the configurator/gateway.
- Updated technical references to reflect self-hosted Gitea infrastructure.
- Cleaned up unused imports and addressed linting warnings across modified pages.
This commit is contained in:
2026-02-16 19:34:08 +01:00
parent cb32b9d62f
commit 9cfe7ee9e5
58 changed files with 3231 additions and 1592 deletions

View File

@@ -0,0 +1,48 @@
"use server";
import { sendEmail } from "../lib/mail/mailer";
import {
getInquiryEmailHtml,
getConfirmationEmailHtml,
} from "../components/ContactForm/EmailTemplates";
export async function sendContactInquiry(data: {
name: string;
email: string;
companyName: string;
projectType: string;
message: string;
isFreeText: boolean;
config?: any;
}) {
try {
// 1. Send Inquiry to Marc
const inquiryResult = await sendEmail({
subject: `[PROJEKT] ${data.isFreeText ? "DIREKTANFRAGE" : "KONFIGURATION"}: ${data.companyName || data.name}`,
html: getInquiryEmailHtml(data),
replyTo: data.email,
});
if (!inquiryResult.success) {
throw new Error(inquiryResult.error);
}
// 2. Send Confirmation to Customer
await sendEmail({
to: data.email,
subject: `Kopie deiner Anfrage: ${data.companyName || "mintel.me"}`,
html: getConfirmationEmailHtml(data),
});
return { success: true };
} catch (error) {
console.error("Server Action Error:", error);
return {
success: false,
error:
error instanceof Error
? error.message
: "Unknown error during submission",
};
}
}