TetraKits UI Tailark Advanced Footer ← Library

Tailark Advanced Footer

21st.dev Tailark advanced footer: 5-column grid, lucide social bar, violet obsidian palette. TetraKits Product/Resources/Company/Legal links.

tailark footer21st dev footerviolet footer reactadvanced grid footertetrakits footer
Live preview

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>
  );
}