import { getTranslations } from 'next-intl/server'; import { Container, Button, Heading } from '@/components/ui'; import Scribble from '@/components/Scribble'; import { headers } from 'next/headers'; import ClientNotFoundTracker from '@/components/analytics/ClientNotFoundTracker'; export default async function NotFound() { const t = await getTranslations('Error.notFound'); // Try to determine the requested path const headersList = await headers(); const urlPath = headersList.get('x-invoke-path') || ''; let suggestedUrl = null; let suggestedLang = null; // If we have a path, try to see if the last segment (slug) exists in ANY locale if (urlPath) { const slug = urlPath.split('/').filter(Boolean).pop(); if (slug) { // Logic for alternative locale checking is tricky without DB. // We'll just provide a simple fallback if the user is in wrong locale const currentLocale = urlPath.startsWith('/en') ? 'en' : 'de'; const alternativeLocale = currentLocale === 'de' ? 'en' : 'de'; suggestedLang = alternativeLocale === 'de' ? 'Deutsch' : 'English'; const pathParts = urlPath.split('/').filter(Boolean); if (pathParts.length > 0 && (pathParts[0] === 'en' || pathParts[0] === 'de')) { pathParts[0] = alternativeLocale; } else { pathParts.unshift(alternativeLocale); } suggestedUrl = '/' + pathParts.join('/'); } } return ( <> {/* Industrial Background Element */}
404
404
{t('title')}

{t('description')}

{suggestedUrl && (

Did you mean to visit the {suggestedLang} version?

This page exists, but in another language.

)}
{/* Decorative Industrial Line */}
); }