diff --git a/app/[locale]/[slug]/page.tsx b/app/[locale]/[slug]/page.tsx index 25decb21a..19a8db08b 100644 --- a/app/[locale]/[slug]/page.tsx +++ b/app/[locale]/[slug]/page.tsx @@ -165,6 +165,13 @@ export default async function Page(props: { params: Promise<{ locale: string; sl const pageMdxComponents = { ...mdxComponents, InteractiveGermanyMap: (props: any) => , + HomeReferencesSlider: (props: any) => ({ + id: r.slug, + slug: r.slug, + title: r.frontmatter.title, + category: r.frontmatter.category || 'Projekt', + image: r.frontmatter.featuredImage + }))} />, }; return ( diff --git a/app/[locale]/error.tsx b/app/[locale]/error.tsx index c147013de..263741341 100644 --- a/app/[locale]/error.tsx +++ b/app/[locale]/error.tsx @@ -3,8 +3,9 @@ import { useEffect } from 'react'; import { useTranslations } from 'next-intl'; import { getAppServices } from '@/lib/services/create-services'; -import { Container, Button, Heading } from '@/components/ui'; -import Scribble from '@/components/Scribble'; +import { Button, Heading } from '@/components/ui'; +import { Terminal, Activity, AlertTriangle, RefreshCw, Home, ShieldAlert } from 'lucide-react'; +import { motion } from 'framer-motion'; export default function Error({ error, @@ -16,6 +17,9 @@ export default function Error({ const t = useTranslations('Error'); useEffect(() => { + // Force standard solid header + document.body.setAttribute('data-header-variant', 'standard'); + // Treat "Failed to find Server Action" as a deployment sync issue and reload if (error?.message?.includes('Failed to find Server Action')) { window.location.reload(); @@ -30,64 +34,131 @@ export default function Error({ digest: error?.digest, }); - // Force solid header - document.body.setAttribute('data-force-solid-header', 'true'); return () => { - document.body.removeAttribute('data-force-solid-header'); + document.body.removeAttribute('data-header-variant'); }; }, [error]); return ( - <> -
- {/* Deep Tech Grid Background */} -
- - {/* Glowing Orb */} -
+
+ {/* Industrial Blueprint Background */} +
+
+
+
-
-
- {/* Inner Shimmer */} -
- -
-

+ {/* Decorative Technical Annotations */} +
+
+ System_Core_Access :: Restricted +
+
+ Protocol_Failure :: Type_500 +
+
+
+
+ + {/* Background Glow */} +
+ +
+ {/* The "Broken" Machine Visual */} +
+ +

+ 500 -

-
-
+ {/* Glitch Layers */} + 500 + 500 + +

+ + {/* Warning Overlay */} +
+ + + +
+ +
+ +
+ {/* Main Content */} +
+
+ + CRITICAL_SYSTEM_OVERRIDE :: ACTIVE
-
- - SYSTEM PROTOCOL: CRITICAL ERROR -
- - + {t('title')} -

+

{t('description')}

-
- -
- - {/* Decorative Base Line */} -
-
+ + {/* Technical Log Terminal */} +
+
+
+
+
+
+
+
+
TERMINAL_OUTPUT
+
+
+
[SYSTEM] Initializing recovery protocol...
+
[ERROR] Connection timeout at node 0x7F
+
[INFO] Request ID: {error?.digest || '0xDEADBEEF'}
+
[INFO] Timestamp: {new Date().toISOString()}
+
[INFO] Trace: {error?.message?.slice(0, 40)}...
+
_ Waiting for user input...
+
+
+ +
Status: Handshake_Failed
+
+
- +
); } + diff --git a/app/[locale]/not-found.tsx b/app/[locale]/not-found.tsx index 0d7db3b0d..4557bf857 100644 --- a/app/[locale]/not-found.tsx +++ b/app/[locale]/not-found.tsx @@ -1,70 +1,145 @@ -import { getTranslations } from 'next-intl/server'; -import { Container, Button, Heading } from '@/components/ui'; -import Scribble from '@/components/Scribble'; +'use client'; + +import { useEffect } from 'react'; +import { useTranslations } from 'next-intl'; +import { Button, Heading } from '@/components/ui'; +import { Terminal, Search, Home, Mail, Activity, Cpu } from 'lucide-react'; +import { motion } from 'framer-motion'; import ClientNotFoundTracker from '@/components/analytics/ClientNotFoundTracker'; -export default async function NotFound() { - console.log('--- NOT FOUND RENDERED ---'); - const t = await getTranslations('Error.notFound'); +export default function NotFound() { + const t = useTranslations('Error.notFound'); - // Suggested URL logic removed along with Payload CMS - let suggestedUrl = null; - let suggestedLang = null; + useEffect(() => { + // Force standard solid header + document.body.setAttribute('data-header-variant', 'standard'); + return () => { + document.body.removeAttribute('data-header-variant'); + }; + }, []); return ( - <> -