diff --git a/store/index.js b/store/index.js index 86bedc5..3328f31 100644 --- a/store/index.js +++ b/store/index.js @@ -1,42 +1,13 @@ import { createStore } from 'zustand/vanilla' -import { persist, createJSONStorage } from 'zustand/middleware' -import { get, set, del } from 'idb-keyval' -const storage = createJSONStorage(() => ({ - getItem: async (name) => { - const value = await get(name) - return value ?? null - }, - setItem: async (name, value) => { - await set(name, value) - }, - removeItem: async (name) => { - await del(name) - }, +export const store = createStore((set, get) => ({ + user: null, + items: [], + route: 'home', + + // Actions + setUser: (user) => set({ user }), + addItem: (item) => set(s => ({ items: [...s.items, item] })), + removeItem: (id) => set(s => ({ items: s.items.filter(i => i.id !== id) })), + navigate: (route) => set({ route }), })) - -export const store = createStore( - persist( - (set, get) => ({ - _hydrated: false, - user: null, - items: [], - route: 'home', - setUser: (user) => set({ user }), - addItem: (item) => set(s => ({ items: [...s.items, item] })), - removeItem: (id) => set(s => ({ items: s.items.filter(i => i.id !== id) })), - navigate: (route) => set({ route }), - }), - { - name: 'app-store', - storage, - onRehydrateStorage: () => { - return (state, error) => { - if (!error) { - store.setState({ _hydrated: true }) - } - } - }, - } - ) -)