Footer Vinyl — React Footer Component
A closing track for your website. A grooved record turns with your pointer, framed by a bold pink sleeve.

Starting live preview
Usage
import { FooterVinyl } from "@/components/FooterVinyl";
export function PageFooter() {
return (
<FooterVinyl
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 SIDE B"}
legal={[{"label":"Back to the collection","href":"/footers"}]}
brand={"SIDE B"}
title={"Good things stay on repeat."}
color={"#252a20"}
background={"#e8a0ae"}
{...{
brand: "SIDE B",
title: "Good things stay on repeat.",
interactive: true,
color: "#252a20",
background: "#e8a0ae",
labelColor: "#ef623b"
}}
/>
);
}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.
| Property | Type | Notes / default |
|---|---|---|
brand | string | Your brand; the artwork is generated from this text |
title / description | ReactNode | Replaceable example copy |
cta | FooterLink | null | { label, href }; omitted by default |
groups | FooterLinkGroup[] | [{ label, links: [{ label, href }] }]; empty by default |
legal | FooterLink[] | Optional legal or social links |
copyright | ReactNode | Optional bottom line |
children | ReactNode | Replaces the introduction and navigation; artwork remains |
interactive | boolean | true; pointer motion respects reduced-motion and touch |
className / style | string / CSSProperties | Applied to footer; --vfx-footer-display sets the display font |
View source on GitHubFree for commercial projects · MIT