Merge pull request #4225 from GuillaumeLecomte1/fix/favicon-theme-toggle

fix(ui): update favicon dynamically based on app theme
This commit is contained in:
Mauricio Siu
2026-08-09 02:19:58 -06:00
committed by GitHub
3 changed files with 22 additions and 4 deletions
@@ -1,24 +1,32 @@
"use client";
import Head from "next/head";
import { useTheme } from "next-themes";
import { api } from "@/utils/api";
export function WhitelabelingProvider() {
const { resolvedTheme } = useTheme();
const { data: config } = api.whitelabeling.getPublic.useQuery(undefined, {
staleTime: 5 * 60 * 1000,
refetchOnWindowFocus: false,
});
if (!config) return null;
const faviconHref =
config?.faviconUrl ??
(resolvedTheme === "dark"
? "/icon-dark.svg"
: resolvedTheme === "light"
? "/icon-light.svg"
: "/icon.svg");
return (
<>
<Head>
{config.metaTitle && <title>{config.metaTitle}</title>}
{config.faviconUrl && <link rel="icon" href={config.faviconUrl} />}
{config?.metaTitle && <title>{config.metaTitle}</title>}
<link rel="icon" href={faviconHref} key="app-favicon" />
</Head>
{config.customCss && (
{config?.customCss && (
<style
id="whitelabeling-styles"
dangerouslySetInnerHTML={{