"use client"; import { Pencil, Podcast } from "lucide-react"; import { useCallback, useContext, useTransition } from "react"; import { cn } from "@/lib/utils"; import { chatInterfaceContext } from "../ChatInterface"; import type { GeneratePodcastRequest } from "./ChatPanelContainer"; import { ConfigModal } from "./ConfigModal"; interface ChatPanelViewProps { generatePodcast: (request: GeneratePodcastRequest) => Promise; } export function ChatPanelView(props: ChatPanelViewProps) { const context = useContext(chatInterfaceContext); if (!context) { throw new Error("chatInterfaceContext must be used within a ChatProvider"); } const { isChatPannelOpen, setIsChatPannelOpen, chatDetails } = context; const { generatePodcast } = props; const handleGeneratePost = useCallback(async () => { if (!chatDetails) return; await generatePodcast({ type: "CHAT", ids: [chatDetails.id], search_space_id: chatDetails.search_space_id, podcast_title: chatDetails.title, }); }, [chatDetails]); return (
{isChatPannelOpen ? ( ) : ( )}
); }