first draft but not working yet

This commit is contained in:
authentik Default Admin 2026-03-04 11:13:15 -08:00
commit b54c89c9c4
10 changed files with 380 additions and 0 deletions

18
store/index.js Normal file
View file

@ -0,0 +1,18 @@
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)
}
)
)

View file

@ -0,0 +1,8 @@
import { get, set, del } from 'idb-keyval'
import { createJSONStorage } from 'zustand/middleware'
export const idbStorage = createJSONStorage(() => ({
getItem: (name) => get(name),
setItem: (name, value) => set(name, value),
removeItem: (name) => del(name),
}))