cd1d6a1a28
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>
75 lines
2.4 KiB
TypeScript
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>
|
|
);
|
|
}
|