diff --git a/app/error.tsx b/app/error.tsx new file mode 100644 index 0000000..a7c6cef --- /dev/null +++ b/app/error.tsx @@ -0,0 +1,58 @@ +'use client'; + +import { useEffect } from 'react'; +import { motion } from 'framer-motion'; +import { RefreshCcw, Home } from 'lucide-react'; +import Link from 'next/link'; + +export default function Error({ + error, + reset, +}: { + error: Error & { digest?: string }; + reset: () => void; +}) { + useEffect(() => { + console.error(error); + }, [error]); + + return ( +
+
+ + 500 + + + +

Etwas ist schiefgelaufen

+

+ Es gab ein technisches Problem. Wir arbeiten bereits an der Lösung. +

+ +
+ + + + Zur Startseite + +
+
+
+
+ ); +} diff --git a/app/not-found.tsx b/app/not-found.tsx new file mode 100644 index 0000000..80e1adc --- /dev/null +++ b/app/not-found.tsx @@ -0,0 +1,47 @@ +'use client'; + +import Link from 'next/link'; +import { motion } from 'framer-motion'; +import { Home, ArrowLeft } from 'lucide-react'; + +export default function NotFound() { + return ( +
+
+ + 404 + + + +

Seite nicht gefunden

+

+ Die von Ihnen gesuchte Seite scheint nicht zu existieren oder wurde verschoben. +

+ +
+ + + Zur Startseite + + +
+
+
+
+ ); +} diff --git a/app/page.tsx b/app/page.tsx index b270fdb..0bee457 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -32,11 +32,11 @@ export default function Home() {
-
- -
+
Portfolio

Unsere Leistungen

@@ -125,11 +125,10 @@ export default function Home() { desc: 'Herstellerneutrale Marktanalyse und Unterstützung bei der Komponentenwahl hinsichtlich Qualität und Preis.' } ].map((item, i) => ( -

{item.icon} @@ -214,12 +213,12 @@ export default function Home() {
- Spezifikationen

Technische Expertise

@@ -275,7 +274,7 @@ export default function Home() {
-
+

Bereit für Ihr nächstes Projekt?

diff --git a/app/ueber-uns/page.tsx b/app/ueber-uns/page.tsx index be82551..30b96f7 100644 --- a/app/ueber-uns/page.tsx +++ b/app/ueber-uns/page.tsx @@ -33,11 +33,11 @@ export default function About() {
-
- Werte

Unser Manifest

@@ -135,11 +135,10 @@ export default function About() { { icon: MessageSquare, title: 'Offenheit', desc: 'Wir hören zu und passen unsere Prozesse kontinuierlich an Ihren Erfolg an.' }, { icon: ShieldCheck, title: 'Zuverlässigkeit', desc: 'Wir halten, was wir versprechen – ohne Ausnahme. Verbindlichkeit ist unser Fundament.' } ].map((item, i) => ( -
@@ -155,14 +154,14 @@ export default function About() { {/* CTA Section */}
- -
+

Bereit für Ihr nächstes Projekt?

diff --git a/components/Layout.tsx b/components/Layout.tsx index a6289d7..32fe4cb 100644 --- a/components/Layout.tsx +++ b/components/Layout.tsx @@ -35,7 +35,6 @@ const Layout = ({ children }: { children: React.ReactNode }) => { const navLinks = [ { href: '/', label: 'Startseite', icon: Home }, { href: '/ueber-uns', label: 'Über uns', icon: Info }, - { href: '/kontakt', label: 'Kontakt', icon: Mail }, ]; return ( @@ -45,12 +44,12 @@ const Layout = ({ children }: { children: React.ReactNode }) => { animate={{ opacity: 1 }} transition={{ duration: 1, ease: [0.22, 1, 0.36, 1] }} className={`fixed top-0 left-0 right-0 z-[100] transition-all duration-300 flex items-center py-1 ${ - isScrolled - ? 'bg-white/80 backdrop-blur-lg border-b border-slate-200' - : 'bg-gradient-to-b from-white/50 to-transparent' + isScrolled + ? 'bg-white/90 backdrop-blur-lg border-b border-slate-200 shadow-sm' + : 'bg-gradient-to-b from-white/80 via-white/40 to-transparent' }`} > -
+
{ {/* Desktop Navigation */} -