import { yupResolver } from '@hookform/resolvers/yup' import React, { useEffect, useState } from 'react' import { useForm } from 'react-hook-form' import * as Yup from 'yup' import Manifest from '@/lib/treckingAwb/component/Manifest' import { trackingOrder } from '../api/trackingOrder' import { useQuery } from 'react-query' import { Spinner } from '@chakra-ui/react'; import { Search } from 'lucide-react'; import whatsappUrl from '@/core/utils/whatsappUrl'; import Link from 'next/link' const TrackingOrder = () => { const [idAWB, setIdAWB] = useState(null) const [inputQuery, setInputQuery] = useState(null) const [buttonClick, setButtonClick] = useState(false) const [apiError, setApiError] = useState(null) // State to store API error message const closePopup = () => { setIdAWB(null) setButtonClick(false) setInputQuery(null) setApiError(null) // Reset error message on close } const { register, handleSubmit, formState: { errors }, control, reset } = useForm({ resolver: yupResolver(validationSchema), defaultValues }) const query = { email: inputQuery?.email, so: inputQuery?.id } const { data: tracking, isLoading, isError, error } = useQuery( ['tracking', query], () => trackingOrder({ query: query }), { enabled: !!query.email && !!query.so, onSuccess: (data) => { if (buttonClick) { if (data?.code === 403 || data?.code === 400 || data?.code === 404) { setApiError(data?.description); } else if (data?.pickings?.length > 0) { setIdAWB(data.pickings[0]?.id); } else { setApiError('No pickings data available'); } setButtonClick(false); setInputQuery(null); } }, } ); const onSubmitHandler = async (values) => { setInputQuery(values) setButtonClick(true) } return (