diff --git a/package-lock.json b/package-lock.json index 6b74b8d2..f65b42d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "6.6.3", "license": "MIT", "dependencies": { - "@cdransf/theme-toggle": "^1.0.8", + "@cdransf/theme-toggle": "^1.1.1", "@daviddarnes/mastodon-post": "^1.1.1", "@remy/webmention": "^1.5.0", "@zachleat/pagefind-search": "^1.0.3", @@ -1230,9 +1230,9 @@ } }, "node_modules/@cdransf/theme-toggle": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@cdransf/theme-toggle/-/theme-toggle-1.0.8.tgz", - "integrity": "sha512-i4/oFQ75GszVQuR8YF1hkA1AXSNQiIL7+7tbjTzVgEzZTacrfvuAGO1Wxk7RO2dunsusg/OKNpzsx6vwehmNOg==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@cdransf/theme-toggle/-/theme-toggle-1.1.1.tgz", + "integrity": "sha512-WUUj8rr6tf2vegJNFL31afWfHe9t05Ow8C5uK/sNLN3TXcNLlsG2oaYGQAajXkP2XOoaYte83RYu0wTCpdF58Q==" }, "node_modules/@daviddarnes/mastodon-post": { "version": "1.1.1", diff --git a/package.json b/package.json index e13b1e2a..92655594 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "author": "Cory Dransfeldt", "license": "MIT", "dependencies": { - "@cdransf/theme-toggle": "^1.0.8", + "@cdransf/theme-toggle": "^1.1.1", "@daviddarnes/mastodon-post": "^1.1.1", "@remy/webmention": "^1.5.0", "@zachleat/pagefind-search": "^1.0.3", diff --git a/src/_includes/base.liquid b/src/_includes/base.liquid index e3232cb4..3a66d278 100644 --- a/src/_includes/base.liquid +++ b/src/_includes/base.liquid @@ -85,5 +85,22 @@ <style>.client-side {display:none}</style> </noscript> </head> - <body>{{ content }}</body> + <body> + <script> + (() => { + const currentTheme = sessionStorage?.getItem('theme'); + if (!currentTheme) sessionStorage?.setItem('theme', (this.prefersDarkScheme ? 'dark' : 'light')) + if (currentTheme === 'dark') { + document.body.classList.add('theme__dark') + } else if (currentTheme === 'light') { + document.body.classList.add('theme__light') + } else if (this.prefersDarkScheme) { + document.body.classList.add('theme__dark') + } else if (!this.prefersDarkScheme) { + document.body.classList.add('theme__light') + } + })(); + </script> + {{ content }} + </body> </html> \ No newline at end of file