aboutsummaryrefslogtreecommitdiff
path: root/apps/web/src/contexts
diff options
context:
space:
mode:
authorDhravya <[email protected]>2024-04-13 11:40:01 -0700
committerDhravya <[email protected]>2024-04-13 11:40:01 -0700
commit6f4792cab8643dacd651c3cb1b069ad7aedd33fb (patch)
tree88f03e31212bbf8b3ebff55f0ca93d2dff4e190f /apps/web/src/contexts
parentadded browser rendering for getting clean page content (diff)
parentfix notes (diff)
downloadsupermemory-6f4792cab8643dacd651c3cb1b069ad7aedd33fb.tar.xz
supermemory-6f4792cab8643dacd651c3cb1b069ad7aedd33fb.zip
resolved conflicts
Diffstat (limited to 'apps/web/src/contexts')
-rw-r--r--apps/web/src/contexts/MemoryContext.tsx29
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,
}}
>