diff --git a/surfsense_web/components/chat/ChatPannel/ChatPanelContainer.tsx b/surfsense_web/components/chat/ChatPannel/ChatPanelContainer.tsx index 38be9c060..aebdca29e 100644 --- a/surfsense_web/components/chat/ChatPannel/ChatPanelContainer.tsx +++ b/surfsense_web/components/chat/ChatPannel/ChatPanelContainer.tsx @@ -1,5 +1,5 @@ import { PanelRight } from "lucide-react"; -import { useContext } from "react"; +import { useActionState, useContext } from "react"; import { cn } from "@/lib/utils"; import { chatInterfaceContext } from "../ChatInterface"; import { generatePodCastAction, getChatPodcastPromise } from "./actions"; @@ -11,6 +11,15 @@ export interface PodCastInterface { search_space_id: string; } +export type PodcastGenerationState = Partial<{ + title: string; + podcast_transcript: string; + search_space_id: string; + chat_id: string; + prompt: string; + error: unknown; +}>; + export function ChatPanelContainer() { const context = useContext(chatInterfaceContext); @@ -19,6 +28,13 @@ export function ChatPanelContainer() { } const { isChatPannelOpen, setIsChatPannelOpen, chat_id: chatId } = context; + + const [state, generatePodcastAction, isGeneratingPodcast] = + useActionState(generatePodCastAction, { + chat_id: chatId, + prompt: "Test", + }); + return chatId && chatId !== "" ? (
{ - console.log("Generating podcast"); +export const generatePodCastAction = async ( + formData: PodcastGenerationState +): Promise => { + return Promise.resolve({ + title: "Test", + podcast_transcript: "Test", + search_space_id: "Test", + }); }; export const getChatPodcastPromise = async (chatId: string): Promise => {