"use client"; import { useAtomValue } from "jotai"; import { Pencil } from "lucide-react"; import { useCallback, useContext, useState } from "react"; import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; import { activeChatAtom } from "@/atoms/chats/queries/active-chat.atom"; import type { GeneratePodcastRequest } from "./ChatPanelContainer"; interface ConfigModalProps { generatePodcast: (request: GeneratePodcastRequest) => Promise; } export function ConfigModal(props: ConfigModalProps) { const { data: activeChatState } = useAtomValue(activeChatAtom); const chatDetails = activeChatState?.chatDetails; const podcast = activeChatState?.podcast; const { generatePodcast } = props; const [userPromt, setUserPrompt] = useState(""); const handleGeneratePost = useCallback(async () => { if (!chatDetails) return; await generatePodcast({ type: "CHAT", ids: [chatDetails.id], search_space_id: chatDetails.search_space_id, podcast_title: podcast?.title || chatDetails.title, user_prompt: userPromt, }); }, [chatDetails, userPromt]); return ( e.stopPropagation()} > e.stopPropagation()} align="end" className="bg-sidebar w-96 ">

Leave empty to use the default prompt

Examples:

  • Make hosts speak in London street language
  • Use real-world analogies and metaphors
  • Add dramatic pauses like a late-night radio show
  • Include 90s pop culture references
); }