Footer 1
Site footer with navigation links and legal information
components/pro-blocks/landing-page/footers/footer-1.tsx
"use client";
import { Logo } from "@/components/pro-blocks/logo";
import Link from "next/link";
import { Separator } from "@/components/ui/separator";
const MAIN_NAV_LINKS = [
{ href: "#", label: "Home" },
{ href: "#", label: "About" },
{ href: "#", label: "Products" },
{ href: "#", label: "Services" },
{ href: "#", label: "Contact" },
];
const LEGAL_LINKS = [
{ href: "#", label: "Privacy Policy" },
{ href: "#", label: "Terms of Service" },
{ href: "#", label: "Cookies Settings" },
];
export function Footer1() {
return (
<footer
className="bg-background section-padding-y text-sm"
role="contentinfo"
aria-label="Site footer"
>
<div className="container-padding-x mx-auto flex max-w-7xl flex-col gap-12 lg:gap-16">
{/* Top Section */}
<div className="flex w-full flex-col items-center gap-12 text-center">
{/* Logo Section */}
<Link href="/" aria-label="Go to homepage">
<Logo className="size-7" />
</Link>
{/* Main Navigation */}
<nav
className="flex flex-col items-center gap-4 md:flex-row md:gap-8"
aria-label="Footer navigation"
>
{MAIN_NAV_LINKS.map((link) => (
<Link
key={link.label}
href={link.href}
className="text-muted-foreground hover:text-foreground transition-colors"
>
{link.label}
</Link>
))}
</nav>
</div>
{/* Section Divider */}
<Separator role="presentation" />
{/* Bottom Section */}
<div className="flex w-full flex-col-reverse items-center gap-12 lg:flex-row lg:justify-between lg:gap-6">
{/* Copyright Text */}
<p className="text-muted-foreground text-center lg:text-left">
<span>Copyright © {new Date().getFullYear()}</span>{" "}
<Link href="/" className="hover:underline">
shadcndesign.com
</Link>
. All rights reserved.
</p>
{/* Legal Navigation */}
<nav
className="flex flex-col items-center gap-4 md:flex-row md:gap-8"
aria-label="Legal links"
>
{LEGAL_LINKS.map((link) => (
<Link
key={link.label}
href={link.href}
className="text-muted-foreground hover:text-foreground transition-colors"
>
{link.label}
</Link>
))}
</nav>
</div>
</div>
</footer>
);
}
- Where it goes
- footer