Merge pull request #318 from linwinfan/feat/zustand-indexeddb

This commit is contained in:
Jianwu Huang
2026-05-05 14:34:18 +08:00
committed by GitHub
2 changed files with 15 additions and 1 deletions

View File

@@ -33,6 +33,7 @@
"clsx": "^2.1.1",
"fuse.js": "^7.1.0",
"github-markdown-css": "^5.8.1",
"idb-keyval": "^6.2.2",
"jszip": "^3.10.1",
"katex": "^0.16.22",
"lottie-react": "^2.4.1",

View File

@@ -1,8 +1,9 @@
import { create } from 'zustand'
import { persist } from 'zustand/middleware'
import { persist, createJSONStorage } from 'zustand/middleware'
import { delete_task, generateNote } from '@/services/note.ts'
import { v4 as uuidv4 } from 'uuid'
import toast from 'react-hot-toast'
import { get, set, del } from 'idb-keyval'
export type TaskStatus = 'PENDING' | 'RUNNING' | 'SUCCESS' | 'FAILD'
@@ -211,6 +212,18 @@ export const useTaskStore = create<TaskStore>()(
}),
{
name: 'task-storage',
storage: createJSONStorage(() => ({
getItem: async (name: string): Promise<string | null> => {
const value = await get(name)
return value ?? null
},
setItem: async (name: string, value: string): Promise<void> => {
await set(name, value)
},
removeItem: async (name: string): Promise<void> => {
await del(name)
},
})),
}
)
)