Skip to content

Commit b3b4d09

Browse files
Bikram GoleBikram Gole
authored andcommitted
Make selected theme persist across pages without URL override
1 parent 4c568e4 commit b3b4d09

4 files changed

Lines changed: 6 additions & 6 deletions

File tree

about.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
const params = new URLSearchParams(window.location.search);
2323
const urlTheme = params.get("theme");
2424
const savedTheme = window.localStorage.getItem(themeKey);
25-
const selected = validThemes.has(urlTheme) ? urlTheme : (validThemes.has(savedTheme) ? savedTheme : null);
25+
const selected = validThemes.has(savedTheme) ? savedTheme : (validThemes.has(urlTheme) ? urlTheme : null);
2626
if (selected) {
2727
document.documentElement.dataset.theme = selected;
2828
document.body.dataset.theme = selected;

contact.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
const params = new URLSearchParams(window.location.search);
2323
const urlTheme = params.get("theme");
2424
const savedTheme = window.localStorage.getItem(themeKey);
25-
const selected = validThemes.has(urlTheme) ? urlTheme : (validThemes.has(savedTheme) ? savedTheme : null);
25+
const selected = validThemes.has(savedTheme) ? savedTheme : (validThemes.has(urlTheme) ? urlTheme : null);
2626
if (selected) {
2727
document.documentElement.dataset.theme = selected;
2828
document.body.dataset.theme = selected;

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
const params = new URLSearchParams(window.location.search);
2323
const urlTheme = params.get("theme");
2424
const savedTheme = window.localStorage.getItem(themeKey);
25-
const selected = validThemes.has(urlTheme) ? urlTheme : (validThemes.has(savedTheme) ? savedTheme : null);
25+
const selected = validThemes.has(savedTheme) ? savedTheme : (validThemes.has(urlTheme) ? urlTheme : null);
2626
if (selected) {
2727
document.documentElement.dataset.theme = selected;
2828
document.body.dataset.theme = selected;

script.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -811,8 +811,8 @@ function initThemeSwitcher() {
811811
try {
812812
const urlTheme = getThemeFromUrl();
813813
const storedTheme = window.localStorage.getItem(THEME_STORAGE_KEY);
814-
savedTheme = urlTheme || storedTheme || "neo";
815-
if (urlTheme && urlTheme !== storedTheme) {
814+
savedTheme = storedTheme || urlTheme || "neo";
815+
if (!storedTheme && urlTheme) {
816816
window.localStorage.setItem(THEME_STORAGE_KEY, urlTheme);
817817
}
818818
} catch (error) {
@@ -823,7 +823,7 @@ function initThemeSwitcher() {
823823
window.addEventListener("pageshow", () => {
824824
let latestTheme = "neo";
825825
try {
826-
latestTheme = getThemeFromUrl() || window.localStorage.getItem(THEME_STORAGE_KEY) || "neo";
826+
latestTheme = window.localStorage.getItem(THEME_STORAGE_KEY) || getThemeFromUrl() || "neo";
827827
} catch (error) {
828828
latestTheme = "neo";
829829
}

0 commit comments

Comments
 (0)