import { useMutation } from "@tanstack/react-query"; import { HardDrive, Plus } from "lucide-react"; import { useId } from "react"; import { toast } from "sonner"; import { createVolumeMutation } from "~/client/api-client/@tanstack/react-query.gen"; import { CreateVolumeForm, formSchema, type FormValues } from "~/client/modules/volumes/components/create-volume-form"; import { Button } from "~/client/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "~/client/components/ui/card"; import { parseError } from "~/client/lib/errors"; import { Alert, AlertDescription } from "~/client/components/ui/alert"; import { useNavigate } from "@tanstack/react-router"; export function CreateVolumePage() { const navigate = useNavigate(); const formId = useId(); const createVolume = useMutation({ ...createVolumeMutation(), onSuccess: (data) => { toast.success("Volume created successfully"); void navigate({ to: `/volumes/${data.shortId}` }); }, }); const handleSubmit = (values: FormValues) => { const { name, ...config } = formSchema.parse(values); createVolume.mutate({ body: { config, name, }, }); }; return (