From 5beb2943b94769bce6ed3f9c5d2738a5de590a70 Mon Sep 17 00:00:00 2001 From: Benny Joo Date: Mon, 12 May 2025 13:59:37 -0400 Subject: [PATCH] fix: localStorage error in useTheme (#21258) --- packages/lib/hooks/useTheme.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/lib/hooks/useTheme.tsx b/packages/lib/hooks/useTheme.tsx index 3c9afa622e..e58b661818 100644 --- a/packages/lib/hooks/useTheme.tsx +++ b/packages/lib/hooks/useTheme.tsx @@ -12,7 +12,9 @@ import { useEmbedTheme } from "@calcom/embed-core/embed-iframe"; // eslint-disable-next-line @typescript-eslint/ban-types export default function useTheme(themeToSet: "system" | (string & {}) | undefined | null, getOnly = false) { if (typeof window !== "undefined") { - themeToSet = themeToSet || localStorage.getItem("app-theme") || "system"; + const themeFromLocalStorage = + typeof window !== "undefined" && window.localStorage ? localStorage.getItem("app-theme") : null; + themeToSet = themeToSet ?? themeFromLocalStorage ?? "system"; } const { resolvedTheme, setTheme, forcedTheme, theme: activeTheme } = useNextTheme(); const embedTheme = useEmbedTheme();