MenuClose

Footer Tidal — React Footer Component

Copper tidal lines beneath monumental lettering. Move across the footer and reshape the current.

View source
PreviewReact
Starting live preview

Usage

import { FooterTidal } from "@/components/FooterTidal";

export function PageFooter() {
  return (
    <FooterTidal
      cta={{"label":"Start a conversation","href":"mailto:hello@example.com"}}
      groups={[{"label":"Explore","links":[{"label":"Our work","href":"/heroes"},{"label":"The collection","href":"/footers"},{"label":"Get started","href":"/installation"}]},{"label":"Elsewhere","links":[{"label":"GitHub","href":"https://github.com/zjy365/vfx-ui"},{"label":"For agents","href":"/llms.txt"}]}]}
      copyright={"© 2026 AFTER"}
      legal={[{"label":"Back to the collection","href":"/footers"}]}
      brand={"AFTER"}
      title={"Every ending. A new beginning."}
      color={"#e8b58b"}
      background={"#151b20"}
      {...{
        brand: "AFTER",
        title: "Every ending. A new beginning.",
        interactive: true,
        color: "#e8b58b",
        background: "#151b20",
        animate: true
      }}
    />
  );
}
Implementation notes & API

A semantic footer with customizable brand, title, description, CTA, navigation groups, copyright and legal links. Example links belong to the demo; replace them with your own routes. children replaces the intro and navigation. No WebGPU or animation library required. Touch and reduced-motion preserve a composed static design. Canvas work sleeps offscreen. Set --vfx-footer-display through style to use your brand font.

PropertyTypeNotes / default
brandstringYour brand; the artwork is generated from this text
title / descriptionReactNodeReplaceable example copy
ctaFooterLink | null{ label, href }; omitted by default
groupsFooterLinkGroup[][{ label, links: [{ label, href }] }]; empty by default
legalFooterLink[]Optional legal or social links
copyrightReactNodeOptional bottom line
childrenReactNodeReplaces the introduction and navigation; artwork remains
interactivebooleantrue; pointer motion respects reduced-motion and touch
className / stylestring / CSSPropertiesApplied to footer; --vfx-footer-display sets the display font
View source on GitHubFree for commercial projects · MIT