18 lines
467 B
JavaScript
18 lines
467 B
JavaScript
|
|
import { createStore } from 'zustand/vanilla'
|
||
|
|
import { persist } from 'zustand/middleware'
|
||
|
|
import { idbStorage } from './middleware/persistence.js'
|
||
|
|
|
||
|
|
export const store = createStore(
|
||
|
|
persist(
|
||
|
|
(set, get) => ({
|
||
|
|
user: null,
|
||
|
|
items: [],
|
||
|
|
setUser: (user) => set({ user }),
|
||
|
|
addItem: (item) => set(s => ({ items: [...s.items, item] })),
|
||
|
|
}),
|
||
|
|
{
|
||
|
|
name: 'app-store',
|
||
|
|
storage: idbStorage, // custom adapter (see below)
|
||
|
|
}
|
||
|
|
)
|
||
|
|
)
|