"use client"; import { useAtomValue, useSetAtom } from "jotai"; import { XIcon } from "lucide-react"; import { useCallback, useRef, useState } from "react"; import { closeHitlEditPanelAtom, hitlEditPanelAtom, } from "@/atoms/chat/hitl-edit-panel.atom"; import { PlateEditor } from "@/components/editor/plate-editor"; import { Button } from "@/components/ui/button"; import { Drawer, DrawerContent, DrawerHandle, DrawerTitle } from "@/components/ui/drawer"; import { useMediaQuery } from "@/hooks/use-media-query"; export function HitlEditPanelContent({ title: initialTitle, content: initialContent, onSave, onClose, showCloseButton = true, }: { title: string; content: string; toolName: string; onSave: (title: string, content: string) => void; onClose?: () => void; showCloseButton?: boolean; }) { const [editedTitle, setEditedTitle] = useState(initialTitle); const markdownRef = useRef(initialContent); const [isSaving, setIsSaving] = useState(false); const handleMarkdownChange = useCallback((md: string) => { markdownRef.current = md; }, []); const handleSave = useCallback(() => { if (!editedTitle.trim()) return; setIsSaving(true); onSave(editedTitle, markdownRef.current); onClose?.(); }, [editedTitle, onSave, onClose]); return ( <>