Tailark Advanced Footer
21st.dev Tailark advanced footer: 5-column grid, lucide social bar, violet obsidian palette. TetraKits Product/Resources/Company/Legal links.
Dependencies
react
framer-motion
lucide-react
npm install framer-motion lucide-react"use client";
import { motion } from "framer-motion";
import { Github, Globe, Linkedin, MessageCircle, Send, Share2 } from "lucide-react";
const groups = [
{
group: "Product",
items: [
{ title: "UI Library", href: "/ui" },
{ title: "Free Tools", href: "/tools" },
{ title: "Templates", href: "/templates" },
{ title: "Pricing", href: "/pricing" },
{ title: "Features", href: "/features" },
{ title: "Integrations", href: "/integrations" },
],
},
{
group: "Resources",
items: [
{ title: "Documentation", href: "/docs" },
{ title: "Blog", href: "/blog" },
{ title: "Changelog", href: "/changelog" },
{ title: "GitHub", href: "https://github.com/tetrakits" },
],
},
{
group: "Company",
items: [
{ title: "About TetraKits", href: "/about" },
{ title: "Careers · 3 open", href: "/careers" },
{ title: "Press kit", href: "/press" },
{ title: "Contact", href: "/contact" },
],
},
{
group: "Legal",
items: [
{ title: "Privacy", href: "/privacy" },
{ title: "Terms", href: "/terms" },
{ title: "Security", href: "/security" },
{ title: "GDPR", href: "/gdpr" },
],
},
];
const socials = [
{ Icon: Share2, href: "https://twitter.com/tetrakits", label: "Twitter" },
{ Icon: MessageCircle, href: "https://discord.gg/tetrakits", label: "Discord" },
{ Icon: Github, href: "https://github.com/tetrakits", label: "GitHub" },
{ Icon: Globe, href: "https://tetrakits.com", label: "Website" },
{ Icon: Send, href: "mailto:hello@tetrakits.com", label: "Email" },
{ Icon: Linkedin, href: "https://linkedin.com/company/tetrakits", label: "LinkedIn" },
];
export function TailarkAdvancedFooter() {
return (
<footer className="bg-[#0a0a0f] border-t border-violet-500/15 px-4 pt-16 sm:px-6 sm:pt-20">
<div className="mx-auto max-w-5xl">
<div className="grid gap-12 md:grid-cols-5">
<div className="md:col-span-2">
<a href="/" className="inline-block text-xl font-bold tracking-tight text-white">
Tetra<span className="text-violet-400">Kits</span>
</a>
<p className="mt-4 max-w-sm text-sm leading-relaxed text-zinc-400">Free React UI components & browser tools for builders</p>
<p className="mt-4 text-xs text-zinc-600">67+ components · 40+ tools · 12,400+ devs</p>
</div>
<div className="grid grid-cols-2 gap-8 sm:grid-cols-4 md:col-span-3">
{groups.map(({ group, items }) => (
<div key={group} className="space-y-4 text-sm">
<span className="block text-xs font-semibold uppercase tracking-wider text-zinc-400">{group}</span>
{items.map((item) => (
<a key={item.title} href={item.href} className="block text-zinc-500 transition duration-150 hover:text-violet-300">
{item.title}
</a>
))}
</div>
))}
</div>
</div>
<div className="mt-12 flex flex-wrap items-center justify-between gap-6 border-t border-violet-500/15 py-8">
<span className="text-sm text-zinc-500">© 2026 TetraKits · 425 Market St, SF</span>
<div className="flex flex-wrap gap-5">
{socials.map(({ Icon, href, label }) => (
<motion.a
key={label}
href={href}
aria-label={label}
whileHover={{ y: -2, scale: 1.08 }}
className="text-zinc-500 transition hover:text-violet-300"
>
<Icon className="h-5 w-5" />
</motion.a>
))}
</div>
</div>
</div>
</footer>
);
}
Please implement this code in the current project and add it to (Your Desired Section, e.g. homepage hero, pricing page, dashboard). Change the primary accent color to (YOUR HEX CODE COLOR, e.g. #6366F1).
Requirements:
- Use React + Tailwind CSS (match the project's existing setup)
- Install dependencies if needed: npm install framer-motion lucide-react
- Keep the layout responsive on mobile and desktop
- Replace placeholder copy with content that fits the project
The UI code:
"use client";
import { motion } from "framer-motion";
import { Github, Globe, Linkedin, MessageCircle, Send, Share2 } from "lucide-react";
const groups = [
{
group: "Product",
items: [
{ title: "UI Library", href: "/ui" },
{ title: "Free Tools", href: "/tools" },
{ title: "Templates", href: "/templates" },
{ title: "Pricing", href: "/pricing" },
{ title: "Features", href: "/features" },
{ title: "Integrations", href: "/integrations" },
],
},
{
group: "Resources",
items: [
{ title: "Documentation", href: "/docs" },
{ title: "Blog", href: "/blog" },
{ title: "Changelog", href: "/changelog" },
{ title: "GitHub", href: "https://github.com/tetrakits" },
],
},
{
group: "Company",
items: [
{ title: "About TetraKits", href: "/about" },
{ title: "Careers · 3 open", href: "/careers" },
{ title: "Press kit", href: "/press" },
{ title: "Contact", href: "/contact" },
],
},
{
group: "Legal",
items: [
{ title: "Privacy", href: "/privacy" },
{ title: "Terms", href: "/terms" },
{ title: "Security", href: "/security" },
{ title: "GDPR", href: "/gdpr" },
],
},
];
const socials = [
{ Icon: Share2, href: "https://twitter.com/tetrakits", label: "Twitter" },
{ Icon: MessageCircle, href: "https://discord.gg/tetrakits", label: "Discord" },
{ Icon: Github, href: "https://github.com/tetrakits", label: "GitHub" },
{ Icon: Globe, href: "https://tetrakits.com", label: "Website" },
{ Icon: Send, href: "mailto:hello@tetrakits.com", label: "Email" },
{ Icon: Linkedin, href: "https://linkedin.com/company/tetrakits", label: "LinkedIn" },
];
export function TailarkAdvancedFooter() {
return (
<footer className="bg-[#0a0a0f] border-t border-violet-500/15 px-4 pt-16 sm:px-6 sm:pt-20">
<div className="mx-auto max-w-5xl">
<div className="grid gap-12 md:grid-cols-5">
<div className="md:col-span-2">
<a href="/" className="inline-block text-xl font-bold tracking-tight text-white">
Tetra<span className="text-violet-400">Kits</span>
</a>
<p className="mt-4 max-w-sm text-sm leading-relaxed text-zinc-400">Free React UI components & browser tools for builders</p>
<p className="mt-4 text-xs text-zinc-600">67+ components · 40+ tools · 12,400+ devs</p>
</div>
<div className="grid grid-cols-2 gap-8 sm:grid-cols-4 md:col-span-3">
{groups.map(({ group, items }) => (
<div key={group} className="space-y-4 text-sm">
<span className="block text-xs font-semibold uppercase tracking-wider text-zinc-400">{group}</span>
{items.map((item) => (
<a key={item.title} href={item.href} className="block text-zinc-500 transition duration-150 hover:text-violet-300">
{item.title}
</a>
))}
</div>
))}
</div>
</div>
<div className="mt-12 flex flex-wrap items-center justify-between gap-6 border-t border-violet-500/15 py-8">
<span className="text-sm text-zinc-500">© 2026 TetraKits · 425 Market St, SF</span>
<div className="flex flex-wrap gap-5">
{socials.map(({ Icon, href, label }) => (
<motion.a
key={label}
href={href}
aria-label={label}
whileHover={{ y: -2, scale: 1.08 }}
className="text-zinc-500 transition hover:text-violet-300"
>
<Icon className="h-5 w-5" />
</motion.a>
))}
</div>
</div>
</div>
</footer>
);
}
Replace (Your Desired Section) and (YOUR HEX CODE COLOR) before pasting into Cursor, Copilot, or ChatGPT.