Bladeren bron

fix: nightmode toggle out of sync on page load

Owen Diffey 2 jaren geleden
bovenliggende
commit
b4080c2f72
4 gewijzigde bestanden met toevoegingen van 2 en 5 verwijderingen
  1. 0 2
      frontend/src/App.vue
  2. 1 2
      frontend/src/components/MainHeader.vue
  3. 0 1
      frontend/src/main.ts
  4. 1 0
      frontend/src/stores/userPreferences.ts

+ 0 - 2
frontend/src/App.vue

@@ -57,8 +57,6 @@ const { openModal, closeCurrentModal } = modalsStore;
 const aModalIsOpen = computed(() => Object.keys(activeModals.value).length > 0);
 
 const toggleNightMode = () => {
-	localStorage.setItem("nightmode", `${!nightmode.value}`);
-
 	if (loggedIn.value) {
 		socket.dispatch(
 			"users.updatePreferences",

+ 1 - 2
frontend/src/components/MainHeader.vue

@@ -65,8 +65,7 @@ watch(localNightmode, nightmode => {
 });
 
 onMounted(async () => {
-	localNightmode.value = JSON.parse(localStorage.getItem("nightmode"));
-	if (localNightmode.value === null) localNightmode.value = false;
+	localNightmode.value = localStorage.getItem("nightmode") === "true";
 
 	frontendDomain.value = await lofig.get("frontendDomain");
 	siteSettings.value = await lofig.get("siteSettings");

+ 0 - 1
frontend/src/main.ts

@@ -375,7 +375,6 @@ createSocket().then(async socket => {
 			changeAutoSkipDisliked(preferences.autoSkipDisliked);
 
 		if (preferences.nightmode !== undefined) {
-			localStorage.setItem("nightmode", preferences.nightmode);
 			changeNightmode(preferences.nightmode);
 		}
 

+ 1 - 0
frontend/src/stores/userPreferences.ts

@@ -11,6 +11,7 @@ export const useUserPreferencesStore = defineStore("userPreferences", {
 	actions: {
 		changeNightmode(nightmode) {
 			this.nightmode = nightmode;
+			localStorage.setItem("nightmode", `${nightmode}`);
 		},
 		changeAutoSkipDisliked(autoSkipDisliked) {
 			this.autoSkipDisliked = autoSkipDisliked;