Blox/
Detailed Footer
A comprehensive footer with multiple link columns, newsletter signup, social links, and status indicator. Perfect for SaaS products and corporate websites.
Multi-columnNewsletterStatusSocial
Installation
Terminal
TSXReactTailwind
npx @uiblox/cli add detailed-footerPreview
Brand
Building the future of digital experiences.
Product
- Features
- Pricing
- Integrations
Company
- About
- Blog
- Careers
Legal
- Privacy
- Terms
© 2024 Brand. All rights reserved.All systems operational
Source Code
detailed-footer.tsx
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157import Link from "next/link"; const footerLinks = { product: [ { label: "Features", href: "/features" }, { label: "Pricing", href: "/pricing" }, { label: "Integrations", href: "/integrations" }, { label: "Changelog", href: "/changelog" }, { label: "Roadmap", href: "/roadmap" }, ], company: [ { label: "About", href: "/about" }, { label: "Blog", href: "/blog" }, { label: "Careers", href: "/careers" }, { label: "Press", href: "/press" }, { label: "Partners", href: "/partners" }, ], resources: [ { label: "Documentation", href: "/docs" }, { label: "Help Center", href: "/help" }, { label: "Community", href: "/community" }, { label: "Tutorials", href: "/tutorials" }, { label: "API Reference", href: "/api" }, ], legal: [ { label: "Privacy Policy", href: "/privacy" }, { label: "Terms of Service", href: "/terms" }, { label: "Cookie Policy", href: "/cookies" }, { label: "Licenses", href: "/licenses" }, ], }; export function DetailedFooter() { return ( <footer className="bg-slate-900 text-white"> {/* Main Footer */} <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 lg:py-16"> <div className="grid grid-cols-2 md:grid-cols-6 gap-8 lg:gap-12"> {/* Brand Column */} <div className="col-span-2"> <Link href="/" className="flex items-center gap-2 mb-4"> <div className="w-8 h-8 rounded-lg bg-gradient-to-br from-purple-500 to-indigo-600" /> <span className="text-xl font-bold">Brand</span> </Link> <p className="text-slate-400 text-sm mb-6 max-w-xs"> Building the future of digital experiences. Join thousands of teams using our platform. </p> {/* Newsletter */} <div className="mb-6"> <h4 className="text-sm font-semibold mb-3">Subscribe to our newsletter</h4> <div className="flex gap-2"> <input type="email" placeholder="Enter your email" className="flex-1 px-4 py-2 bg-slate-800 border border-slate-700 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-purple-500" /> <button className="px-4 py-2 bg-purple-600 hover:bg-purple-700 rounded-lg text-sm font-medium transition-colors"> Subscribe </button> </div> </div> {/* Social Links */} <div className="flex gap-4"> <a href="#" className="text-slate-400 hover:text-white transition-colors"><TwitterIcon /></a> <a href="#" className="text-slate-400 hover:text-white transition-colors"><GitHubIcon /></a> <a href="#" className="text-slate-400 hover:text-white transition-colors"><LinkedInIcon /></a> <a href="#" className="text-slate-400 hover:text-white transition-colors"><YouTubeIcon /></a> <a href="#" className="text-slate-400 hover:text-white transition-colors"><DiscordIcon /></a> </div> </div> {/* Product Links */} <div> <h4 className="text-sm font-semibold uppercase tracking-wide mb-4">Product</h4> <ul className="space-y-3"> {footerLinks.product.map((link) => ( <li key={link.href}> <Link href={link.href} className="text-slate-400 hover:text-white text-sm transition-colors"> {link.label} </Link> </li> ))} </ul> </div> {/* Company Links */} <div> <h4 className="text-sm font-semibold uppercase tracking-wide mb-4">Company</h4> <ul className="space-y-3"> {footerLinks.company.map((link) => ( <li key={link.href}> <Link href={link.href} className="text-slate-400 hover:text-white text-sm transition-colors"> {link.label} </Link> </li> ))} </ul> </div> {/* Resources Links */} <div> <h4 className="text-sm font-semibold uppercase tracking-wide mb-4">Resources</h4> <ul className="space-y-3"> {footerLinks.resources.map((link) => ( <li key={link.href}> <Link href={link.href} className="text-slate-400 hover:text-white text-sm transition-colors"> {link.label} </Link> </li> ))} </ul> </div> {/* Legal Links */} <div> <h4 className="text-sm font-semibold uppercase tracking-wide mb-4">Legal</h4> <ul className="space-y-3"> {footerLinks.legal.map((link) => ( <li key={link.href}> <Link href={link.href} className="text-slate-400 hover:text-white text-sm transition-colors"> {link.label} </Link> </li> ))} </ul> </div> </div> </div> {/* Bottom Bar */} <div className="border-t border-slate-800"> <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6"> <div className="flex flex-col sm:flex-row items-center justify-between gap-4"> <p className="text-slate-400 text-sm"> © {new Date().getFullYear()} Brand, Inc. All rights reserved. </p> <div className="flex items-center gap-4"> <span className="flex items-center gap-2 text-sm text-slate-400"> <span className="w-2 h-2 bg-emerald-500 rounded-full" /> All systems operational </span> </div> </div> </div> </div> </footer> ); } // Icon components function TwitterIcon() { return <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"><path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" /></svg>; } function GitHubIcon() { return <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"><path fillRule="evenodd" clipRule="evenodd" d="M12 2C6.477 2 2 6.477 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0012 2z" /></svg>; } function LinkedInIcon() { return <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" /></svg>; } function YouTubeIcon() { return <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" /></svg>; } function DiscordIcon() { return <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"><path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" /></svg>; }