import { ChevronDownIcon } from "@chakra-ui/icons"; import React, { useEffect, useState } from "react"; import { Badge, Button, FormControl, FormLabel, Menu, MenuButton, MenuItem, MenuList, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, FormErrorMessage } from "@chakra-ui/react"; import { useGetIOprepopulateDataQuery, useUpdateStatusIoMutation, } from "../../../../Services/io.service"; import { useParams } from "react-router-dom"; const UpdateIOStatus = ({ isOpen, onClose, status }) => { const params = useParams(); const id = params?.id; const [selectedItem, setSelectedItem] = useState(); const [isLoadingg, setIsLoading] = useState(false); const [error, setError] = useState(""); const [selectedStatusId, setSelectedStatusId] = useState(status?.[0]?.id); const { data } = useGetIOprepopulateDataQuery(); const [updateStatusIo] = useUpdateStatusIoMutation(); useEffect(() => { setSelectedStatusId(status?.[0]?.id); }, [status]); const handleMenuItemClick = (item, id) => { setSelectedItem(item); setSelectedStatusId(id); }; const handleSubmit = async () => { if (!selectedStatusId) { setError("Status is required."); return; } setError(""); setIsLoading(true); try { const res = await updateStatusIo({ data: { ioStatus_xid: selectedStatusId, }, id, }); console.log(res); setIsLoading(false); handleClose(); } catch (error) { setIsLoading(false); } }; const handleClose = () => { setSelectedItem("") onClose() } return ( Update IO Status Transaction Status } fontSize={"sm"} fontWeight={500} w={"100%"} textAlign={"left"} > {selectedItem ? ( {selectedItem} ) : "Select Item"} {status?.length > 0 ? {status?.map(({ id, statusAdmin }) => ( handleMenuItemClick(statusAdmin, id)} > {statusAdmin} ))} :""} {error} ); }; export default UpdateIOStatus;