diff options
| author | Dhravya <[email protected]> | 2024-04-13 11:40:01 -0700 |
|---|---|---|
| committer | Dhravya <[email protected]> | 2024-04-13 11:40:01 -0700 |
| commit | 6f4792cab8643dacd651c3cb1b069ad7aedd33fb (patch) | |
| tree | 88f03e31212bbf8b3ebff55f0ca93d2dff4e190f /apps/web/src/contexts/MemoryContext.tsx | |
| parent | added browser rendering for getting clean page content (diff) | |
| parent | fix notes (diff) | |
| download | supermemory-6f4792cab8643dacd651c3cb1b069ad7aedd33fb.tar.xz supermemory-6f4792cab8643dacd651c3cb1b069ad7aedd33fb.zip | |
resolved conflicts
Diffstat (limited to 'apps/web/src/contexts/MemoryContext.tsx')
| -rw-r--r-- | apps/web/src/contexts/MemoryContext.tsx | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/apps/web/src/contexts/MemoryContext.tsx b/apps/web/src/contexts/MemoryContext.tsx index 881ba45e..548365f8 100644 --- a/apps/web/src/contexts/MemoryContext.tsx +++ b/apps/web/src/contexts/MemoryContext.tsx @@ -11,6 +11,8 @@ import { searchMemoriesAndSpaces, addSpace, fetchContentForSpace, + deleteSpace, + deleteMemory, } from "@/actions/db"; import { User } from "next-auth"; @@ -23,20 +25,22 @@ export type SearchResult = { // temperory (will change) export const MemoryContext = React.createContext<{ spaces: StoredSpace[]; - deleteSpace: (id: number) => Promise<void>; freeMemories: StoredContent[]; addSpace: typeof addSpace; addMemory: typeof addMemory; cachedMemories: ChachedSpaceContent[]; search: typeof searchMemoriesAndSpaces; + deleteSpace: typeof deleteSpace; + deleteMemory: typeof deleteMemory; }>({ spaces: [], freeMemories: [], addMemory: (() => {}) as unknown as typeof addMemory, addSpace: (async () => {}) as unknown as typeof addSpace, - deleteSpace: async () => {}, cachedMemories: [], search: async () => [], + deleteMemory: (() => {}) as unknown as typeof deleteMemory, + deleteSpace: (() => {}) as unknown as typeof deleteSpace, }); export const MemoryProvider: React.FC< @@ -61,8 +65,22 @@ export const MemoryProvider: React.FC< ChachedSpaceContent[] >(initialCachedMemories); - const deleteSpace = async (id: number) => { - setSpaces((prev) => prev.filter((s) => s.id !== id)); + const _deleteSpace: typeof deleteSpace = async (...params) => { + const deleted = (await deleteSpace(...params))!; + + setSpaces((prev) => prev.filter((i) => i.id !== deleted.id)); + setCachedMemories((prev) => prev.filter((i) => i.space !== deleted.id)); + + return deleted; + }; + + const _deleteMemory: typeof deleteMemory = async (...params) => { + const deleted = (await deleteMemory(...params))!; + + setCachedMemories((prev) => prev.filter((i) => i.id !== deleted.id)); + setFreeMemories((prev) => prev.filter((i) => i.id !== deleted.id)); + + return deleted; }; // const fetchMemories = useCallback(async (query: string) => { @@ -115,9 +133,10 @@ export const MemoryProvider: React.FC< search: searchMemoriesAndSpaces, spaces, addSpace: _addSpace, - deleteSpace, + deleteSpace: _deleteSpace, freeMemories, cachedMemories, + deleteMemory: _deleteMemory, addMemory: _addMemory, }} > |