import { location_api } from "@/features/location/lib/api"; import type { LocationListDataRes } from "@/features/location/lib/data"; import { Button } from "@/shared/ui/button"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/shared/ui/dialog"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import type { AxiosError } from "axios"; import { Loader2, Trash, X } from "lucide-react"; import type { Dispatch, SetStateAction } from "react"; import { toast } from "sonner"; interface Props { opneDelete: boolean; setOpenDelete: Dispatch>; setLocationDelete: Dispatch>; locationDelete: LocationListDataRes | null; viewLocation: "user_send" | "user_send_object"; } const DeleteLocation = ({ opneDelete, viewLocation, locationDelete, setOpenDelete, setLocationDelete, }: Props) => { const queryClient = useQueryClient(); const { mutate: deleteUser, isPending } = useMutation({ mutationFn: (id: number) => location_api.delete(id), onSuccess: () => { queryClient.refetchQueries({ queryKey: ["location_list"] }); toast.success(`Jo'natilgan lokatsiya o'chirildi`); setOpenDelete(false); setLocationDelete(null); }, onError: (err: AxiosError) => { const errMessage = err.response?.data as { message: string }; const messageText = errMessage.message; toast.error(messageText || "Xatolik yuz berdi", { richColors: true, position: "top-center", }); }, }); const { mutate: deleteUserLocation, isPending: deleteUserLocationPen } = useMutation({ mutationFn: (id: number) => location_api.list_user_location_delete(id), onSuccess: () => { queryClient.refetchQueries({ queryKey: ["user_location_list"] }); toast.success(`Jo'natilgan lokatsiya o'chirildi`); setOpenDelete(false); setLocationDelete(null); }, onError: (err: AxiosError) => { const errMessage = err.response?.data as { message: string }; const messageText = errMessage.message; toast.error(messageText || "Xatolik yuz berdi", { richColors: true, position: "top-center", }); }, }); return ( Dorini o'chirish Siz rostan ham jo'natilgan lokatsiyani o'chirmoqchimisiz ); }; export default DeleteLocation;