diff --git a/components/AboutContent.tsx b/components/AboutContent.tsx index a7ba833..5663000 100644 --- a/components/AboutContent.tsx +++ b/components/AboutContent.tsx @@ -1,11 +1,11 @@ 'use client'; import React from 'react'; -import { Award, Clock, Lightbulb, Linkedin, MessageSquare, ShieldCheck, Truck, ArrowRight } from 'lucide-react'; -import Link from 'next/link'; +import { Award, Clock, Lightbulb, Linkedin, MessageSquare, ShieldCheck, Truck } from 'lucide-react'; import { Reveal } from './Reveal'; import { TechBackground } from './TechBackground'; import { Counter } from './Counter'; +import { Button } from './Button'; export default function About() { return ( @@ -47,7 +47,7 @@ export default function About() {
- +
02
@@ -83,14 +83,14 @@ export default function About() {
{/* Manifest Section */} -
+
- + Werte -

Unser Manifest

-

Werte, die unsere tägliche Arbeit leiten und den Erfolg Ihrer Projekte sichern.

+

Unser Manifest

+

Werte, die unsere tägliche Arbeit leiten und den Erfolg Ihrer Projekte sichern.

@@ -103,13 +103,13 @@ export default function About() { { icon: ShieldCheck, title: 'Zuverlässigkeit', desc: 'Wir halten, was wir versprechen – ohne Ausnahme. Verbindlichkeit ist unser Fundament.' } ].map((item, i) => ( -
+
-

{i + 1}. {item.title}

-

{item.desc}

+

{i + 1}. {item.title}

+

{item.desc}

))} @@ -121,7 +121,7 @@ export default function About() {
- +
04
@@ -133,10 +133,9 @@ export default function About() {

Lassen Sie uns gemeinsam die optimale Lösung für Ihre Energieinfrastruktur finden.

- +
diff --git a/components/Button.tsx b/components/Button.tsx new file mode 100644 index 0000000..de4cd3f --- /dev/null +++ b/components/Button.tsx @@ -0,0 +1,78 @@ +'use client'; + +import React from 'react'; +import { motion } from 'framer-motion'; +import Link from 'next/link'; +import { ArrowRight } from 'lucide-react'; + +interface ButtonProps { + children: React.ReactNode; + href?: string; + onClick?: () => void; + variant?: 'primary' | 'accent' | 'outline' | 'ghost'; + className?: string; + showArrow?: boolean; + type?: 'button' | 'submit' | 'reset'; + disabled?: boolean; +} + +export const Button = ({ + children, + href, + onClick, + variant = 'primary', + className = '', + showArrow = false, + type = 'button', + disabled = false +}: ButtonProps) => { + const baseStyles = "inline-flex items-center justify-center px-8 py-4 rounded-xl font-bold uppercase tracking-widest text-xs transition-all duration-300 relative overflow-hidden group disabled:opacity-50 disabled:cursor-not-allowed"; + + const variants = { + primary: "bg-primary text-white hover:bg-primary-light hover:shadow-[0_0_20px_rgba(15,23,42,0.3)]", + accent: "bg-accent text-white hover:bg-accent-hover hover:shadow-[0_0_20px_rgba(16,185,129,0.3)]", + outline: "border-2 border-primary text-primary hover:bg-primary hover:text-white", + ghost: "bg-slate-100 text-primary hover:bg-slate-200" + }; + + const content = ( + <> + + {children} + {showArrow && ( + + + + )} + + + + ); + + if (href) { + return ( + + {content} + + ); + } + + return ( + + ); +}; diff --git a/components/ContactContent.tsx b/components/ContactContent.tsx index be458e7..f2a4513 100644 --- a/components/ContactContent.tsx +++ b/components/ContactContent.tsx @@ -1,11 +1,11 @@ 'use client'; -import { CheckCircle, Mail, MapPin, Send, ArrowRight } from 'lucide-react'; +import { CheckCircle, Mail, MapPin, Send } from 'lucide-react'; import React, { useState } from 'react'; -import Link from 'next/link'; import { Reveal } from './Reveal'; import { TechBackground } from './TechBackground'; import { Counter } from './Counter'; +import { Button } from './Button'; export default function Contact() { const [submitted, setSubmitted] = useState(false); @@ -51,7 +51,7 @@ export default function Contact() {
- +
01
Kontakt @@ -69,20 +69,20 @@ export default function Contact() {
-
+
- +
-
+
@@ -90,13 +90,13 @@ export default function Contact() { -
+
-

Anschrift

-

+

Anschrift

+

MB Grid Solutions GmbH
Raiffeisenstraße 22
73630 Remshalden @@ -106,7 +106,7 @@ export default function Contact() { -

+