import { api } from "@fileone/convex/_generated/api" import type { Id } from "@fileone/convex/_generated/dataModel" import { useMutation } from "@tanstack/react-query" import { useMutation as useContextMutation } from "convex/react" import { useId } from "react" import { toast } from "sonner" import { Button } from "@/components/ui/button" import { Dialog, DialogClose, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog" import { Input } from "@/components/ui/input" export function NewDirectoryDialog({ open, onOpenChange, directoryId, }: { open: boolean onOpenChange: (open: boolean) => void directoryId: Id<"directories"> }) { const formId = useId() const { mutate: createDirectory, isPending: isCreating } = useMutation({ mutationFn: useContextMutation(api.files.createDirectory), onSuccess: () => { onOpenChange(false) toast.success("Directory created successfully") }, }) const onSubmit = (event: React.FormEvent) => { event.preventDefault() const formData = new FormData(event.currentTarget) const name = formData.get("directoryName") as string if (name) { createDirectory({ name, directoryId }) } } return ( New Directory
) }