Files
podcastdistributiona/components/marketing/site-footer.tsx
T
Leon Serfaty cd1d6a1a28 Add brand logo + favicon across app surfaces
Ship the Podcast Distribution AI wordmark as real assets and replace the
Mic-tile + text placeholder everywhere it appeared.

- public/logo-dark.png (dark wordmark, for light backgrounds) and
  public/logo-light.png (light wordmark, for dark backgrounds)
- New <Logo> component swaps the two via Tailwind dark: variants, so the
  dark logo shows on all non-themed surfaces (marketing, auth, admin,
  public share) and the light logo only in dark-mode app surfaces
- Wire <Logo> into the marketing header/footer, auth layout, app header
  (default branch only - white-label org logos untouched), admin header
  (+ Admin badge), and the public share page
- Favicon via App Router file convention: app/icon.png + app/apple-icon.png

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 20:58:37 -04:00

75 lines
2.4 KiB
TypeScript

import Link from "next/link";
import { Logo } from "@/components/ui/logo";
export function SiteFooter() {
return (
<footer className="border-t border-border bg-secondary">
<div className="container flex flex-col gap-10 py-16 md:flex-row md:justify-between">
<div className="max-w-xs space-y-4">
<Link href="/" className="flex items-center" aria-label="Podcast Distribution AI">
<Logo className="h-7 w-auto" />
</Link>
<p className="text-sm leading-relaxed text-muted-foreground">
From topic idea to a finished, published podcast episode in minutes script, voice, and
cover art generated by AI.
</p>
</div>
<div className="grid grid-cols-2 gap-10 text-sm sm:grid-cols-3">
<FooterCol
title="Product"
links={[
["How it works", "/#how-it-works"],
["Features", "/#features"],
["Pricing", "/pricing"],
["FAQ", "/faq"],
["About", "/about"],
]}
/>
<FooterCol
title="Account"
links={[
["Log in", "/sign-in"],
["Create account", "/sign-up"],
["Dashboard", "/dashboard"],
]}
/>
<FooterCol
title="Legal"
links={[
["Terms of Service", "/terms"],
["Privacy Policy", "/privacy"],
["Cookie Policy", "/cookies"],
["Acceptable Use", "/acceptable-use"],
["Refund Policy", "/refunds"],
["Subprocessors", "/subprocessors"],
]}
/>
</div>
</div>
<div className="border-t border-border">
<div className="container py-6 text-center text-xs text-muted-foreground">
© {new Date().getFullYear()} Podcast Distribution AI. All rights reserved.
</div>
</div>
</footer>
);
}
function FooterCol({ title, links }: { title: string; links: [string, string][] }) {
return (
<div className="space-y-3.5">
<p className="font-semibold text-foreground">{title}</p>
<ul className="space-y-2.5 text-muted-foreground">
{links.map(([label, href]) => (
<li key={href}>
<Link href={href} className="transition-colors hover:text-brand">
{label}
</Link>
</li>
))}
</ul>
</div>
);
}