/* eslint-disable @typescript-eslint/no-explicit-any */ import Cards from "./Containers/Cards"; import Orders from "./Containers/Cards/Orders"; import { useState, useCallback } from "react"; import { useRouter } from "next/navigation"; import { toast } from "react-toastify"; import { getOrderHistroy } from "../../../Api/OrderApi"; export default function DashbaordIndex() { const router = useRouter(); const [orderId, setOrderId] = useState(""); const [isLoading, setIsLoading] = useState(false); const [isTracking, setIsTracking] = useState(false); const storedUser = localStorage.getItem("ALL_DATA"); const allData = storedUser ? JSON.parse(storedUser)?.data : null; const [orderCardDetails, setOrderCardDetails] = useState({}); const handleOrderTrack = useCallback( async (e: React.FormEvent) => { e.preventDefault(); // Prevent empty submissions if (!orderId.trim()) { toast.warning("Please enter an order ID"); return; } // Prevent duplicate submissions if (isLoading) { return; } setIsLoading(true); setIsTracking(true); let response: any; try { response = await getOrderHistroy(orderId); if (response?.id) { router.push(`/order-tracking?id=${response.id}`); } else { toast.warning("Order not found", { position: "top-right", autoClose: 3000, }); } } catch (error: any) { console.error("Error tracking order:", error); toast.error( error?.response?.data?.message || "Failed to track order. Please try again later." ); } finally { setIsLoading(false); if (!response?.data?.id) { setIsTracking(false); } } }, [orderId, isLoading, router] ); return ( <> {allData?.email && (
)} > ); }