163 lines
7.6 KiB
TypeScript
163 lines
7.6 KiB
TypeScript
import Link from 'next/link';
|
|
import { Container } from '@/components/ui/Container';
|
|
import { Navigation } from './Navigation';
|
|
|
|
interface FooterProps {
|
|
locale: string;
|
|
siteName?: string;
|
|
}
|
|
|
|
export function Footer({ locale, siteName = 'KLZ Cables' }: FooterProps) {
|
|
const currentYear = new Date().getFullYear();
|
|
|
|
// Quick links
|
|
const quickLinks = [
|
|
{ title: 'About Us', path: `/${locale}/about` },
|
|
{ title: 'Blog', path: `/${locale}/blog` },
|
|
{ title: 'Products', path: `/${locale}/products` },
|
|
{ title: 'Contact', path: `/${locale}/contact` }
|
|
];
|
|
|
|
// Product categories
|
|
const productCategories = [
|
|
{ title: 'Medium Voltage Cables', path: `/${locale}/product-category/medium-voltage` },
|
|
{ title: 'Low Voltage Cables', path: `/${locale}/product-category/low-voltage` },
|
|
{ title: 'Cable Accessories', path: `/${locale}/product-category/accessories` },
|
|
{ title: 'Special Solutions', path: `/${locale}/product-category/special` }
|
|
];
|
|
|
|
// Legal links
|
|
const legalLinks = [
|
|
{ title: 'Privacy Policy', path: `/${locale}/privacy` },
|
|
{ title: 'Terms of Service', path: `/${locale}/terms` },
|
|
{ title: 'Imprint', path: `/${locale}/imprint` }
|
|
];
|
|
|
|
return (
|
|
<footer className="bg-gray-900 text-gray-300 border-t border-gray-800">
|
|
<Container maxWidth="6xl" padding="lg">
|
|
{/* Main Footer Content */}
|
|
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-8">
|
|
{/* Company Info */}
|
|
<div className="space-y-4">
|
|
<div className="flex items-center gap-2">
|
|
<div className="w-8 h-8 bg-primary rounded-lg flex items-center justify-center">
|
|
<span className="text-white font-bold text-sm">KLZ</span>
|
|
</div>
|
|
<span className="font-bold text-white text-lg">{siteName}</span>
|
|
</div>
|
|
<p className="text-sm leading-relaxed text-gray-400">
|
|
Professional cable solutions for industrial applications.
|
|
Quality, reliability, and innovation since 1990.
|
|
</p>
|
|
<div className="flex gap-3">
|
|
{/* Social Media Links */}
|
|
<a href="#" className="text-gray-400 hover:text-white transition-colors" aria-label="LinkedIn">
|
|
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
|
|
<path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/>
|
|
</svg>
|
|
</a>
|
|
<a href="#" className="text-gray-400 hover:text-white transition-colors" aria-label="Twitter">
|
|
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
|
|
<path d="M24 4.557c-.883.392-1.832.656-2.828.775 1.017-.609 1.798-1.574 2.165-2.724-.951.564-2.005.974-3.127 1.195-.897-.957-2.178-1.555-3.594-1.555-3.179 0-5.515 2.966-4.797 6.045-4.091-.205-7.719-2.165-10.148-5.144-1.29 2.213-.669 5.108 1.523 6.574-.806-.026-1.566-.247-2.229-.616-.054 2.281 1.581 4.415 3.949 4.89-.693.188-1.452.232-2.224.084.626 1.956 2.444 3.379 4.6 3.419-2.07 1.623-4.678 2.348-7.29 2.04 2.179 1.397 4.768 2.212 7.548 2.212 9.142 0 14.307-7.721 13.995-14.646.962-.695 1.797-1.562 2.457-2.549z"/>
|
|
</svg>
|
|
</a>
|
|
<a href="#" className="text-gray-400 hover:text-white transition-colors" aria-label="Facebook">
|
|
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
|
|
<path d="M9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615v3.385z"/>
|
|
</svg>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Quick Links */}
|
|
<div>
|
|
<h3 className="text-white font-semibold mb-4 text-sm uppercase tracking-wider">
|
|
Quick Links
|
|
</h3>
|
|
<ul className="space-y-2">
|
|
{quickLinks.map((link) => (
|
|
<li key={link.path}>
|
|
<Link
|
|
href={link.path}
|
|
className="text-sm hover:text-white transition-colors"
|
|
>
|
|
{link.title}
|
|
</Link>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
</div>
|
|
|
|
{/* Product Categories */}
|
|
<div>
|
|
<h3 className="text-white font-semibold mb-4 text-sm uppercase tracking-wider">
|
|
Products
|
|
</h3>
|
|
<ul className="space-y-2">
|
|
{productCategories.map((link) => (
|
|
<li key={link.path}>
|
|
<Link
|
|
href={link.path}
|
|
className="text-sm hover:text-white transition-colors"
|
|
>
|
|
{link.title}
|
|
</Link>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
</div>
|
|
|
|
{/* Contact Info */}
|
|
<div>
|
|
<h3 className="text-white font-semibold mb-4 text-sm uppercase tracking-wider">
|
|
Contact
|
|
</h3>
|
|
<ul className="space-y-3 text-sm">
|
|
<li className="flex items-start gap-2">
|
|
<svg className="w-4 h-4 mt-0.5 text-primary flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
|
|
</svg>
|
|
<span>info@klz-cables.com</span>
|
|
</li>
|
|
<li className="flex items-start gap-2">
|
|
<svg className="w-4 h-4 mt-0.5 text-primary flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" />
|
|
</svg>
|
|
<span>+49 (0) 123 456 789</span>
|
|
</li>
|
|
<li className="flex items-start gap-2">
|
|
<svg className="w-4 h-4 mt-0.5 text-primary flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" />
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" />
|
|
</svg>
|
|
<span>
|
|
Industrial Street 123<br />
|
|
12345 Berlin, Germany
|
|
</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Bottom Bar */}
|
|
<div className="border-t border-gray-800 pt-6 flex flex-col md:flex-row justify-between items-center gap-4">
|
|
<div className="text-sm text-gray-400">
|
|
© {currentYear} {siteName}. All rights reserved.
|
|
</div>
|
|
<div className="flex items-center gap-4 text-sm">
|
|
{legalLinks.map((link) => (
|
|
<Link
|
|
key={link.path}
|
|
href={link.path}
|
|
className="hover:text-white transition-colors"
|
|
>
|
|
{link.title}
|
|
</Link>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</Container>
|
|
</footer>
|
|
);
|
|
} |