Whitelabel branding via NEXT_PUBLIC env vars: AppLogo component + configurable metadata
brauliogusmao adds a thin branding layer that lets you swap the app name, logo, and HTML metadata via build-time env vars, with no code changes required. Six logo call sites are updated; spinners and status icons are left alone.
Commit 9dfa9ca introduces frontend/src/config/brand.ts, which reads NEXT_PUBLIC_APP_NAME and NEXT_PUBLIC_LOGO_URL, and a new AppLogo component in frontend/src/components/chat/app-logo.tsx. That component renders either a custom <img> (when LOGO_URL is set) or the original MikeIcon. The six branding-level usages of MikeIcon across AppSidebar, InitialView, TRChatPanel, WorkflowList, the chat page header, and site-logo.tsx are switched over. Loading spinners keep MikeIcon directly, which is the right call.
Commit 4556c94 extends the same pattern to layout.tsx, reading NEXT_PUBLIC_APP_TITLE, NEXT_PUBLIC_APP_DESCRIPTION, and NEXT_PUBLIC_APP_URL to replace hardcoded OpenGraph and Twitter card metadata. APP_TITLE falls back to ${APP_NAME} - Plataforma Jurídica com IA if not set.
All env vars are NEXT_PUBLIC_*, so they get inlined at build time with no server-side config.
Two things to handle before adopting: no .env.example entries are added documenting the new vars, and there's no CSP/image-src treatment for NEXT_PUBLIC_LOGO_URL. If you're pulling in a logo from an external host, verify it's on your img-src allowlist.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?