From bf99ee97f7c4d7580829d074816ebe0d32316d92 Mon Sep 17 00:00:00 2001 From: Yash Date: Thu, 11 Apr 2024 11:02:24 +0000 Subject: ok --- apps/web/src/contexts/MemoryContext.tsx | 48 +++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 5 deletions(-) (limited to 'apps/web/src/contexts') diff --git a/apps/web/src/contexts/MemoryContext.tsx b/apps/web/src/contexts/MemoryContext.tsx index eab1e4fe..68a22434 100644 --- a/apps/web/src/contexts/MemoryContext.tsx +++ b/apps/web/src/contexts/MemoryContext.tsx @@ -1,22 +1,37 @@ "use client"; import React, { useCallback } from "react"; import { CollectedSpaces } from "../../types/memory"; +import { StoredContent, storedContent } from "@/server/db/schema"; +import { useSession } from "next-auth/react"; +import { addMemory } from "@/actions/db"; // temperory (will change) export const MemoryContext = React.createContext<{ spaces: CollectedSpaces[]; deleteSpace: (id: number) => Promise; + freeMemories: StoredContent[]; addSpace: (space: CollectedSpaces) => Promise; + addMemory: ( + memory: typeof storedContent.$inferInsert, + spaces?: number[], + ) => Promise; }>({ spaces: [], - addSpace: async (space) => {}, - deleteSpace: async (id) => {}, + freeMemories: [], + addMemory: async () => {}, + addSpace: async () => {}, + deleteSpace: async () => {}, }); export const MemoryProvider: React.FC< - { spaces: CollectedSpaces[] } & React.PropsWithChildren -> = ({ children, spaces: initalSpaces }) => { + { + spaces: CollectedSpaces[]; + freeMemories: StoredContent[]; + } & React.PropsWithChildren +> = ({ children, spaces: initalSpaces, freeMemories: initialFreeMemories }) => { const [spaces, setSpaces] = React.useState(initalSpaces); + const [freeMemories, setFreeMemories] = + React.useState(initialFreeMemories); const addSpace = useCallback( async (space: CollectedSpaces) => { @@ -31,8 +46,31 @@ export const MemoryProvider: React.FC< [spaces], ); + // const fetchMemories = useCallback(async (query: string) => { + // const response = await fetch(`/api/memories?${query}`); + // }, []); + + const _addMemory = useCallback( + async ( + memory: typeof storedContent.$inferInsert, + spaces: number[] = [], + ) => { + const content = await addMemory(memory, spaces); + console.log(content); + }, + [freeMemories, spaces], + ); + return ( - + {children} ); -- cgit v1.2.3