import { Button } from "@/components/ui/button" import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { ChatbotUIContext } from "@/context/context" import { updateFolder } from "@/db/folders" import { Tables } from "@/supabase/types" import { IconEdit } from "@tabler/icons-react" import { FC, useContext, useRef, useState } from "react" interface UpdateFolderProps { folder: Tables<"folders"> } export const UpdateFolder: FC = ({ folder }) => { const { setFolders } = useContext(ChatbotUIContext) const buttonRef = useRef(null) const [showFolderDialog, setShowFolderDialog] = useState(false) const [name, setName] = useState(folder.name) const handleUpdateFolder = async (e: React.MouseEvent) => { const updatedFolder = await updateFolder(folder.id, { name }) setFolders(prevState => prevState.map(c => (c.id === folder.id ? updatedFolder : c)) ) setShowFolderDialog(false) } const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === "Enter") { buttonRef.current?.click() } } return ( Edit Folder
setName(e.target.value)} />
) }