add store to localstorage

This commit is contained in:
Yee Jia Wei
2023-12-16 12:57:50 +08:00
parent e0bb7ffa08
commit 8df0eab2a2
4 changed files with 83 additions and 61 deletions
+13 -1
View File
@@ -1,7 +1,9 @@
import { create } from "zustand";
import {ViewMode} from "@/types/global";
type LocalSettings = {
theme: string;
theme?: string;
viewMode?: string
};
type LocalSettingsStore = {
@@ -13,6 +15,7 @@ type LocalSettingsStore = {
const useLocalSettingsStore = create<LocalSettingsStore>((set) => ({
settings: {
theme: "",
viewMode: "",
},
updateSettings: async (newSettings) => {
if (
@@ -26,6 +29,15 @@ const useLocalSettingsStore = create<LocalSettingsStore>((set) => ({
document.querySelector("html")?.setAttribute("data-theme", localTheme);
}
if (
newSettings.viewMode &&
newSettings.viewMode !== localStorage.getItem("viewMode")
) {
localStorage.setItem("viewMode", newSettings.viewMode);
// const localTheme = localStorage.getItem("viewMode") || "";
}
set((state) => ({ settings: { ...state.settings, ...newSettings } }));
},
setSettings: async () => {