Commit 0780973
committed
🤖 fix: ThemeProvider should not use forcedTheme as persistence default
Changed ThemeProvider to use resolveSystemTheme() as the default for
usePersistedState instead of forcedTheme. This prevents the issue where
usePersistedState would check localStorage first and ignore the default.
Now:
- persistedTheme uses system preference as default
- activeTheme = forcedTheme ?? persistedTheme (forcedTheme takes precedence)
- When Chromatic sets forcedTheme='light', it overrides persistence
- When forcedTheme is undefined (local dev), uses persistence/system
This ensures light mode stories render in light theme and dark mode
stories render in dark theme during Chromatic snapshots.1 parent bbf3bff commit 0780973
1 file changed
+11
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
57 | 58 | | |
58 | | - | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
64 | | - | |
65 | | - | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
66 | 68 | | |
67 | 69 | | |
68 | 70 | | |
| |||
71 | 73 | | |
72 | 74 | | |
73 | 75 | | |
74 | | - | |
| 76 | + | |
75 | 77 | | |
76 | | - | |
| 78 | + | |
77 | 79 | | |
78 | 80 | | |
79 | 81 | | |
80 | 82 | | |
81 | | - | |
| 83 | + | |
82 | 84 | | |
83 | 85 | | |
84 | | - | |
| 86 | + | |
85 | 87 | | |
86 | 88 | | |
87 | 89 | | |
| |||
0 commit comments