Skip to content

Commit dcec742

Browse files
authored
Merge pull request #3 from designcise/fix/default-theme-in-inline-script
fix: default theme consideration logic in inline script
2 parents f78e50d + a2b4e23 commit dcec742

File tree

3 files changed

+4
-7
lines changed

3 files changed

+4
-7
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,4 +285,4 @@ https://github.com/designcise/next-theme-toggle/blob/main/LICENSE.md
285285
## Resources
286286

287287
- [How to Create Non-Flickering Dark/Light Mode Toggle in Next.js Using `localStorage`?](https://www.designcise.com/web/tutorial/how-to-create-non-flickering-dark-or-light-mode-toggle-in-next-js-using-localstorage)
288-
- [How to Create Non-Flickering Dark/Light Mode Toggle in Next.js Using Cookies?](https://www.designcise.com/web/tutorial/how-to-create-non-flickering-dark-or-light-mode-toggle-in-next-js-using-cookies).
288+
- [How to Create Non-Flickering Dark/Light Mode Toggle in Next.js Using Cookies?](https://www.designcise.com/web/tutorial/how-to-create-non-flickering-dark-or-light-mode-toggle-in-next-js-using-cookies)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@designcise/next-theme-toggle",
3-
"version": "3.0.0",
3+
"version": "3.0.1",
44
"description": "A simple theme toggle for Next.js 13+",
55
"exports": {
66
".": "./dist/client.js",

src/component/AntiFlickerScript.jsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,10 @@ export default memo(
66
const { [themes.auto]: _, ...colors } = palette
77
const classList = Object.values(colors).join("','")
88
const preferredTheme = `localStorage.getItem('${storageKey}')`
9-
const fallbackTheme =
10-
defaultTheme && defaultTheme !== themes.auto
11-
? `'${getColorByTheme(defaultTheme)}'`
12-
: `(window.matchMedia('(prefers-color-scheme: ${colors.dark})').matches?'${colors.dark}':'${colors.light}')`
9+
const fallbackTheme = `(window.matchMedia('(prefers-color-scheme: ${colors.dark})').matches?'${colors.dark}':'${colors.light}')`
1310
const script =
1411
'(function(root){' +
15-
`const pref=${preferredTheme};` +
12+
`const pref=${preferredTheme}??'${getColorByTheme(defaultTheme)}';` +
1613
`const theme=(pref&&pref!=='${themes.auto}')?pref:${fallbackTheme};` +
1714
`root.classList.remove('${classList}');root.classList.add(theme);root.style.colorScheme=theme;` +
1815
`})(document.documentElement)`

0 commit comments

Comments
 (0)