"use client"; import { Pencil } from "lucide-react"; import { useCallback, useContext, useState } from "react"; import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; import { chatInterfaceContext } from "../ChatInterface"; import type { GeneratePodcastRequest } from "./ChatPanelContainer"; interface ConfigModalProps { generatePodcast: (request: GeneratePodcastRequest) => Promise; } export function ConfigModal(props: ConfigModalProps) { const context = useContext(chatInterfaceContext); if (!context) { throw new Error("chatInterfaceContext must be used within a ChatProvider"); } const { chatDetails } = context; const { generatePodcast } = props; const [podcastTitle, setPodcastTitle] = useState(chatDetails?.title); const handleGeneratePost = useCallback(async () => { if (!chatDetails) return; await generatePodcast({ type: "CHAT", ids: [chatDetails.id], search_space_id: chatDetails.search_space_id, podcast_title: podcastTitle, }); }, [chatDetails, podcastTitle]); return ( e.stopPropagation()} >
); }