Files
stalendeuren/components/layout/footer.tsx
Ubuntu 3d788740cb feat: Latest production version with interior scene and glass
Includes room interior with floor, walls, glass you can see through,
and all uncommitted production changes that were running live.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 14:50:31 +00:00

165 lines
5.9 KiB
TypeScript

import Link from "next/link";
import { Mail, Phone, Star, Facebook, Instagram, Linkedin, Youtube } from "lucide-react";
const contactInfo = [
{ icon: Mail, text: "info@proinn.nl", href: "mailto:info@proinn.nl" },
{ icon: Phone, text: "0165 311 490", href: "tel:0165311490" },
];
const companyInfo = [
{ label: "KVK", value: "85086991" },
{ label: "BTW", value: "NL863503330.B01" },
];
const proinnLinks = [
{ label: "Producten", href: "/producten" },
{ label: "Configurator", href: "/offerte" },
{ label: "Over ons", href: "/over-ons" },
{ label: "Contact", href: "/contact" },
];
const serviceLinks = [
{ label: "Stalen binnendeuren", href: "/producten#binnendeuren" },
{ label: "Stalen buitendeuren", href: "/producten#buitendeuren" },
{ label: "Stalen kantoorwanden", href: "/producten#kantoorwanden" },
{ label: "Maatwerk", href: "/producten#maatwerk" },
];
const socialLinks = [
{ icon: Facebook, href: "#", label: "Facebook" },
{ icon: Instagram, href: "#", label: "Instagram" },
{ icon: Linkedin, href: "#", label: "LinkedIn" },
{ icon: Youtube, href: "#", label: "YouTube" },
];
export function Footer() {
return (
<footer className="bg-[#1A2E2E]">
{/* Main Footer */}
<div className="mx-auto max-w-7xl px-4 pt-16 pb-12 sm:px-6 lg:px-8">
<div className="grid grid-cols-1 gap-10 md:grid-cols-2 lg:grid-cols-4 lg:gap-8">
{/* Col 1 - Logo & Contact */}
<div>
<Link href="/" className="text-2xl font-extrabold tracking-tight text-white">
PROINN
</Link>
<p className="mt-4 text-sm leading-relaxed text-gray-400">
Handgemaakte stalen deuren, op maat geleverd en ge&iuml;nstalleerd vanuit Roosendaal.
</p>
<div className="mt-5 space-y-3">
{contactInfo.map((item) => (
<a
key={item.text}
href={item.href}
className="flex items-center gap-2 text-sm text-gray-400 transition-colors hover:text-white"
>
<item.icon className="size-4 shrink-0" />
{item.text}
</a>
))}
</div>
<p className="mt-3 text-xs text-gray-500">
Schotsbossenstraat 2, 4705AG Roosendaal
</p>
<div className="mt-4 space-y-1.5">
{companyInfo.map((item) => (
<p key={item.label} className="text-xs text-gray-500">
<span className="text-gray-400">{item.label}:</span> {item.value}
</p>
))}
</div>
</div>
{/* Col 2 - Proinn */}
<div>
<h4 className="mb-4 text-sm font-semibold text-white">Proinn</h4>
<ul className="space-y-2.5">
{proinnLinks.map((link) => (
<li key={link.label}>
<Link
href={link.href}
className="text-sm text-gray-400 transition-colors hover:text-white"
>
{link.label}
</Link>
</li>
))}
</ul>
</div>
{/* Col 3 - Producten */}
<div>
<h4 className="mb-4 text-sm font-semibold text-white">Producten</h4>
<ul className="space-y-2.5">
{serviceLinks.map((link) => (
<li key={link.label}>
<Link
href={link.href}
className="text-sm text-gray-400 transition-colors hover:text-white"
>
{link.label}
</Link>
</li>
))}
</ul>
</div>
{/* Col 4 - Trustpilot */}
<div>
<div className="rounded-2xl bg-[#243636] p-6">
<p className="mb-3 text-xs font-medium uppercase tracking-wider text-gray-400">
Klantwaardering
</p>
<div className="mb-2 flex items-center gap-1">
{[...Array(5)].map((_, i) => (
<Star
key={i}
className="size-5 fill-yellow-400 text-yellow-400"
/>
))}
</div>
<p className="text-2xl font-bold text-white">
4.8<span className="text-sm font-normal text-gray-400">/5</span>
</p>
<div className="mt-2 flex items-center gap-1.5">
<Star className="size-4 fill-green-500 text-green-500" />
<span className="text-sm text-gray-400">Trustpilot</span>
</div>
</div>
</div>
</div>
</div>
{/* Bottom Bar */}
<div className="border-t border-white/10">
<div className="mx-auto flex max-w-7xl flex-col items-center justify-between gap-4 px-4 py-6 sm:flex-row sm:px-6 lg:px-8">
{/* Social Icons */}
<div className="flex items-center gap-4">
{socialLinks.map((social) => (
<a
key={social.label}
href={social.href}
aria-label={social.label}
className="flex size-9 items-center justify-center rounded-full bg-white/10 text-gray-400 transition-colors hover:bg-white/20 hover:text-white"
>
<social.icon className="size-4" />
</a>
))}
</div>
{/* Legal Links */}
<div className="flex items-center gap-6 text-xs text-gray-500">
<span>&copy; {new Date().getFullYear()} Proinn</span>
<Link href="/privacy" className="transition-colors hover:text-gray-300">
Privacybeleid
</Link>
<Link href="/voorwaarden" className="transition-colors hover:text-gray-300">
Algemene voorwaarden
</Link>
</div>
</div>
</div>
</footer>
);
}