mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-07-07 23:51:21 +08:00
Merge pull request #318 from linwinfan/feat/zustand-indexeddb
This commit is contained in:
@@ -33,6 +33,7 @@
|
|||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"fuse.js": "^7.1.0",
|
"fuse.js": "^7.1.0",
|
||||||
"github-markdown-css": "^5.8.1",
|
"github-markdown-css": "^5.8.1",
|
||||||
|
"idb-keyval": "^6.2.2",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"katex": "^0.16.22",
|
"katex": "^0.16.22",
|
||||||
"lottie-react": "^2.4.1",
|
"lottie-react": "^2.4.1",
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import { create } from 'zustand'
|
import { create } from 'zustand'
|
||||||
import { persist } from 'zustand/middleware'
|
import { persist, createJSONStorage } from 'zustand/middleware'
|
||||||
import { delete_task, generateNote } from '@/services/note.ts'
|
import { delete_task, generateNote } from '@/services/note.ts'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import toast from 'react-hot-toast'
|
import toast from 'react-hot-toast'
|
||||||
|
import { get, set, del } from 'idb-keyval'
|
||||||
|
|
||||||
|
|
||||||
export type TaskStatus = 'PENDING' | 'RUNNING' | 'SUCCESS' | 'FAILD'
|
export type TaskStatus = 'PENDING' | 'RUNNING' | 'SUCCESS' | 'FAILD'
|
||||||
@@ -211,6 +212,18 @@ export const useTaskStore = create<TaskStore>()(
|
|||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
name: 'task-storage',
|
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)
|
||||||
|
},
|
||||||
|
})),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user