fix: resolve layout, pdf datasheets data generation and excel 404 routing

This commit is contained in:
2026-03-03 12:38:55 +01:00
parent 34bb91c04b
commit 655f33091f
105 changed files with 1337 additions and 1077 deletions

View File

@@ -499,9 +499,14 @@ export default async function ProductPage({ params }: ProductPageProps) {
</h2>
<div className="h-1.5 w-24 bg-accent rounded-full" />
</div>
<div className="flex flex-col gap-4 max-w-2xl">
<DatasheetDownload datasheetPath={datasheetPath} className="mt-0" />
{excelPath && <ExcelDownload excelPath={excelPath} className="mt-0" />}
<div className="flex flex-row flex-wrap items-center gap-4 max-w-2xl">
<DatasheetDownload
datasheetPath={datasheetPath}
className="mt-0 w-full sm:w-auto"
/>
{excelPath && (
<ExcelDownload excelPath={excelPath} className="mt-0 w-full sm:w-auto" />
)}
</div>
</div>
)}

View File

@@ -23,6 +23,14 @@ export async function requestBrochureAction(formData: FormData) {
const email = formData.get('email') as string;
const locale = (formData.get('locale') as string) || 'en';
// Anti-spam Honeypot Check
const honeypot = formData.get('company_website') as string;
if (honeypot) {
logger.warn('Spam detected via honeypot in brochure request', { email });
// Silently succeed to fool the bot without doing actual work
return { success: true };
}
if (!email) {
logger.warn('Missing email in brochure request');
return { success: false, error: 'Missing email address' };
@@ -77,7 +85,7 @@ export async function requestBrochureAction(formData: FormData) {
const html = await render(
React.createElement(BrochureDeliveryEmail, {
email,
_email: email,
brochureUrl,
locale: locale as 'en' | 'de',
}),

View File

@@ -25,6 +25,14 @@ export async function sendContactFormAction(formData: FormData) {
// Track attempt
services.analytics.track('contact-form-attempt');
// Anti-spam Honeypot Check
const honeypot = formData.get('company_website') as string;
if (honeypot) {
logger.warn('Spam detected via honeypot in contact request', { email: formData.get('email') });
// Silently succeed to fool the bot without doing actual work
return { success: true };
}
const name = formData.get('name') as string;
const email = formData.get('email') as string;
const message = formData.get('message') as string;