From dc26da0a12762c71ae2650c903c1c9bfdbfd90f4 Mon Sep 17 00:00:00 2001 From: sabaimran Date: Mon, 4 Nov 2024 22:00:47 -0800 Subject: [PATCH] Add uploaded files in the conversation file filter for a new convo --- src/interface/web/app/page.tsx | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/interface/web/app/page.tsx b/src/interface/web/app/page.tsx index 532b4420..1b714414 100644 --- a/src/interface/web/app/page.tsx +++ b/src/interface/web/app/page.tsx @@ -30,6 +30,7 @@ import { useRouter, useSearchParams } from "next/navigation"; import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"; import { AgentCard } from "@/app/components/agentCard/agentCard"; import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; +import { modifyFileFilterForConversation } from "./common/chatFunctions"; interface ChatBodyDataProps { chatOptionsData: ChatOptions | null; @@ -150,12 +151,26 @@ function ChatBodyData(props: ChatBodyDataProps) { setProcessingMessage(true); try { const newConversationId = await createNewConversation(selectedAgent || "khoj"); + const uploadedFiles = localStorage.getItem("uploadedFiles"); onConversationIdChange?.(newConversationId); localStorage.setItem("message", message); if (images.length > 0) { localStorage.setItem("images", JSON.stringify(images)); } - window.location.href = `/chat?conversationId=${newConversationId}`; + + if (uploadedFiles) { + modifyFileFilterForConversation( + newConversationId, + JSON.parse(uploadedFiles), + () => { + window.location.href = `/chat?conversationId=${newConversationId}`; + }, + "add", + ); + localStorage.removeItem("uploadedFiles"); + } else { + window.location.href = `/chat?conversationId=${newConversationId}`; + } } catch (error) { console.error("Error creating new conversation:", error); setProcessingMessage(false); @@ -417,6 +432,10 @@ export default function Home() { setUserConfig(initialUserConfig); }, [initialUserConfig]); + useEffect(() => { + localStorage.setItem("uploadedFiles", JSON.stringify(uploadedFiles)); + }, [uploadedFiles]); + useEffect(() => { fetch("/api/chat/options") .then((response) => response.json())