Browse Source

feat: clear indexDB

Dogtiti 1 year ago
parent
commit
0b758941a4
2 changed files with 7 additions and 5 deletions
  1. 2 2
      app/store/chat.ts
  2. 5 3
      app/utils/indexDB-storage.ts

+ 2 - 2
app/store/chat.ts

@@ -27,7 +27,7 @@ import { createPersistStore } from "../utils/store";
 import { collectModelsWithDefaultModel } from "../utils/model";
 import { useAccessStore } from "./access";
 import { isDalle3 } from "../utils";
-import { clear } from "idb-keyval";
+import { indexDBStorage } from "@/app/utils/indexDB-storage";
 
 export type ChatMessage = RequestMessage & {
   date: string;
@@ -667,7 +667,7 @@ export const useChatStore = createPersistStore(
       },
 
       async clearAllData() {
-        await clear();
+        await indexDBStorage.clear();
         localStorage.clear();
         location.reload();
       },

+ 5 - 3
app/utils/indexDB-storage.ts

@@ -1,9 +1,7 @@
 import { StateStorage } from "zustand/middleware";
-import { get, set, del } from "idb-keyval";
+import { get, set, del, clear } from "idb-keyval";
 
 class IndexDBStorage implements StateStorage {
-  constructor() {}
-
   public async getItem(name: string): Promise<string | null> {
     return (await get(name)) || localStorage.getItem(name);
   }
@@ -15,6 +13,10 @@ class IndexDBStorage implements StateStorage {
   public async removeItem(name: string): Promise<void> {
     await del(name);
   }
+
+  public async clear(): Promise<void> {
+    await clear();
+  }
 }
 
 export const indexDBStorage = new IndexDBStorage();