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>
This commit is contained in:
Leon Serfaty
2026-06-20 20:58:14 -04:00
parent 013a3525e5
commit cd1d6a1a28
11 changed files with 59 additions and 40 deletions
+7 -6
View File
@@ -7,6 +7,7 @@ import { getActiveBranding, hexToHslTriplet } from "@/lib/branding";
import { WaveformPlayer } from "@/components/app/waveform-player";
import { Card, CardContent } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge";
import { Logo } from "@/components/ui/logo";
import type { StructuredScript } from "@/lib/ai/types";
export const dynamic = "force-dynamic";
@@ -70,14 +71,14 @@ export default async function PublicSharePage({
{/* Header / brand wordmark */}
<header className="mb-8 flex items-center gap-2.5">
{branding?.logoUrl ? (
// eslint-disable-next-line @next/next/no-img-element
<img src={branding.logoUrl} alt={brandName} className="h-7 w-auto" />
<>
{/* eslint-disable-next-line @next/next/no-img-element */}
<img src={branding.logoUrl} alt={brandName} className="h-7 w-auto" />
<span className="font-display text-base font-extrabold tracking-tight">{brandName}</span>
</>
) : (
<span className="flex h-8 w-8 items-center justify-center rounded-2xl bg-brand text-brand-foreground">
<Mic2 className="h-4 w-4" />
</span>
<Logo className="h-7 w-auto" />
)}
<span className="font-display text-base font-extrabold tracking-tight">{brandName}</span>
</header>
<article className="space-y-8">