From cd1d6a1a28b6c2700abe716179f4ad4479d0d269 Mon Sep 17 00:00:00 2001 From: Leon Serfaty <80597822+silkoserfo@users.noreply.github.com> Date: Sat, 20 Jun 2026 20:58:14 -0400 Subject: [PATCH] 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 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 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) --- app/(admin)/layout.tsx | 11 +++++---- app/(app)/layout.tsx | 12 ++++------ app/(auth)/layout.tsx | 12 +++------- app/(public)/p/[shareId]/page.tsx | 13 ++++++----- app/apple-icon.png | Bin 0 -> 17801 bytes app/icon.png | Bin 0 -> 17801 bytes components/marketing/site-footer.tsx | 9 +++----- components/marketing/site-header.tsx | 9 +++----- components/ui/logo.tsx | 33 +++++++++++++++++++++++++++ public/logo-dark.png | Bin 0 -> 9000 bytes public/logo-light.png | Bin 0 -> 9228 bytes 11 files changed, 59 insertions(+), 40 deletions(-) create mode 100644 app/apple-icon.png create mode 100644 app/icon.png create mode 100644 components/ui/logo.tsx create mode 100644 public/logo-dark.png create mode 100644 public/logo-light.png diff --git a/app/(admin)/layout.tsx b/app/(admin)/layout.tsx index f309e6f..fd0dc0d 100644 --- a/app/(admin)/layout.tsx +++ b/app/(admin)/layout.tsx @@ -1,10 +1,11 @@ import Link from "next/link"; -import { ShieldCheck, ArrowLeft } from "lucide-react"; +import { ArrowLeft } from "lucide-react"; import { requireAdmin } from "@/lib/auth/guards"; import { AdminSidebar } from "@/components/admin/admin-sidebar"; import { AdminMobileNav } from "@/components/admin/admin-mobile-nav"; import { UserMenu } from "@/components/app/user-menu"; import { Button } from "@/components/ui/button"; +import { Logo } from "@/components/ui/logo"; // Authed, DB-backed admin surface — never statically prerender. export const dynamic = "force-dynamic"; @@ -17,11 +18,11 @@ export default async function AdminLayout({ children }: { children: React.ReactN
- - - + + + + Admin - Podcast Distribution AI Admin
diff --git a/app/(app)/layout.tsx b/app/(app)/layout.tsx index 9599562..01e0327 100644 --- a/app/(app)/layout.tsx +++ b/app/(app)/layout.tsx @@ -1,5 +1,5 @@ import Link from "next/link"; -import { Mic, Plus, Wrench } from "lucide-react"; +import { Plus, Wrench } from "lucide-react"; import { requireAuth } from "@/lib/auth/guards"; import { getEffectivePlan } from "@/lib/billing/subscription"; import { getActiveBranding, hexToHslTriplet } from "@/lib/branding"; @@ -11,6 +11,7 @@ import { CommandPalette } from "@/components/app/command-palette"; import { ImpersonationBanner } from "@/components/app/impersonation-banner"; import { ThemeProvider } from "@/components/providers/theme-provider"; import { Button } from "@/components/ui/button"; +import { Logo } from "@/components/ui/logo"; // Authed, DB-backed dashboard — never statically prerender. export const dynamic = "force-dynamic"; @@ -47,7 +48,7 @@ export default async function AppLayout({ children }: { children: React.ReactNod
- + {branding?.logoUrl ? ( // eslint-disable-next-line @next/next/no-img-element ) : ( - <> - - - - {workspaceName} - + )}
diff --git a/app/(auth)/layout.tsx b/app/(auth)/layout.tsx index d77067e..8c291f7 100644 --- a/app/(auth)/layout.tsx +++ b/app/(auth)/layout.tsx @@ -1,18 +1,12 @@ import Link from "next/link"; -import { Mic } from "lucide-react"; +import { Logo } from "@/components/ui/logo"; export default function AuthLayout({ children }: { children: React.ReactNode }) { return (
- - - - - Podcast Distribution AI + +
{children}
diff --git a/app/(public)/p/[shareId]/page.tsx b/app/(public)/p/[shareId]/page.tsx index d58a7f7..0aae091 100644 --- a/app/(public)/p/[shareId]/page.tsx +++ b/app/(public)/p/[shareId]/page.tsx @@ -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 */}
{branding?.logoUrl ? ( - // eslint-disable-next-line @next/next/no-img-element - {brandName} + <> + {/* eslint-disable-next-line @next/next/no-img-element */} + {brandName} + {brandName} + ) : ( - - - + )} - {brandName}
diff --git a/app/apple-icon.png b/app/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f4590767aa3d1ee7384cd846ae45ad36db6e8bfe GIT binary patch literal 17801 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 literal 0 HcmV?d00001 diff --git a/app/icon.png b/app/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f4590767aa3d1ee7384cd846ae45ad36db6e8bfe GIT binary patch literal 17801 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 literal 0 HcmV?d00001 diff --git a/components/marketing/site-footer.tsx b/components/marketing/site-footer.tsx index 3065dbb..0e5e12f 100644 --- a/components/marketing/site-footer.tsx +++ b/components/marketing/site-footer.tsx @@ -1,16 +1,13 @@ import Link from "next/link"; -import { Mic } from "lucide-react"; +import { Logo } from "@/components/ui/logo"; export function SiteFooter() { return (