Skip to content

Commit df7ff1f

Browse files
committed
🤖 fix(chromatic): hide manual toggle when running in Chromatic UI tests
1 parent d162697 commit df7ff1f

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

.storybook/preview.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ import type { Preview } from "@storybook/react-vite";
33
import { ThemeProvider, type ThemeMode } from "../src/browser/contexts/ThemeContext";
44
import { getStorageChangeEvent } from "@/common/constants/events";
55
import { UI_THEME_KEY } from "@/common/constants/storage";
6+
7+
// Utility: detect e2e/test contexts where UI should be hidden (Chromatic, SB test-runner)
8+
const isE2ETestEnv = () => {
9+
if (typeof window !== "undefined" && (window as any).CHROMATIC) return true;
10+
if (typeof navigator !== "undefined" && /StorybookTestRunner/i.test(navigator.userAgent)) return true;
11+
return false;
12+
};
613
import "../src/browser/styles/globals.css";
714

815
const applyStorybookTheme = (mode: ThemeMode) => {
@@ -101,7 +108,7 @@ const preview: Preview = {
101108
return (
102109
<ThemeProvider>
103110
<Story />
104-
{!mode && (typeof navigator === "undefined" || !/StorybookTestRunner/i.test(navigator.userAgent)) && (
111+
{!mode && !isE2ETestEnv() && (
105112
<StorybookThemeToggle initialTheme={resolved} />
106113
)}
107114
</ThemeProvider>

0 commit comments

Comments
 (0)