import Button from "@/components/ui/button"; import { zodResolver } from "@hookform/resolvers/zod"; import { Plus } from "lucide-react"; import { Modal } from "react-daisyui"; import { useForm } from "react-hook-form"; import { useDisclosure } from "@/hooks/useDisclosure"; import { createBucketSchema, CreateBucketSchema } from "../schema"; import { InputField } from "@/components/ui/input"; import { useCreateBucket } from "../hooks"; import { useQueryClient } from "@tanstack/react-query"; import { handleError } from "@/lib/utils"; import { toast } from "sonner"; import { useEffect } from "react"; const CreateBucketDialog = () => { const { dialogRef, isOpen, onOpen, onClose } = useDisclosure(); const form = useForm({ resolver: zodResolver(createBucketSchema), defaultValues: { globalAlias: "" }, }); const queryClient = useQueryClient(); useEffect(() => { if (isOpen) form.setFocus("globalAlias"); }, [isOpen]); const createBucket = useCreateBucket({ onSuccess: () => { onClose(); queryClient.invalidateQueries({ queryKey: ["buckets"] }); toast.success("Bucket created!"); }, onError: handleError, }); const onSubmit = form.handleSubmit((values) => { createBucket.mutate(values); }); return ( <> Create New Bucket

Enter the details of the bucket you wish to create.

); }; export default CreateBucketDialog;