diff --git a/app/dashboard/orders/[id]/page.tsx b/app/dashboard/orders/[id]/page.tsx index f72aacd..2294f2e 100644 --- a/app/dashboard/orders/[id]/page.tsx +++ b/app/dashboard/orders/[id]/page.tsx @@ -158,8 +158,7 @@ export default function OrderDetailsPage() { const [isAcknowledging, setIsAcknowledging] = useState(false); const [isCancelling, setIsCancelling] = useState(false); const [refreshTrigger, setRefreshTrigger] = useState(0); - const [showShippingDialog, setShowShippingDialog] = useState(false); - const [shippingTrackingNumber, setShippingTrackingNumber] = useState(""); + // shipping dialog removed; use inline tracking input instead const router = useRouter(); const params = useParams(); @@ -264,24 +263,24 @@ export default function OrderDetailsPage() { } }; - const handleMarkAsShipped = async (trackingNumber?: string) => { + const handleMarkAsShipped = async () => { try { setIsMarkingShipped(true); - - // Use clientFetch which handles API URL and auth token automatically + + // If a tracking number is present in the inline box, add it first + if (trackingNumber && trackingNumber.trim()) { + await handleAddTrackingNumber(trackingNumber.trim()); + setTrackingNumber(""); + } + + // Then mark as shipped (clientFetch handles API URL and auth token) const response = await clientFetch(`/orders/${orderId}/status`, { method: "PUT", body: JSON.stringify({ status: "shipped" }), }); - + if (response && response.message === "Order status updated successfully") { setOrder((prevOrder) => prevOrder ? { ...prevOrder, status: "shipped" } : null); - - // If tracking number is provided, add it - if (trackingNumber && trackingNumber.trim()) { - await handleAddTrackingNumber(trackingNumber.trim()); - } - toast.success("Order marked as shipped successfully!"); } else { throw new Error(response.error || "Failed to mark order as shipped"); @@ -325,16 +324,7 @@ export default function OrderDetailsPage() { } }; - const handleShippingDialogConfirm = async () => { - await handleMarkAsShipped(shippingTrackingNumber); - setShowShippingDialog(false); - setShippingTrackingNumber(""); - }; - - const handleShippingDialogCancel = () => { - setShowShippingDialog(false); - setShippingTrackingNumber(""); - }; + // shipping dialog removed const handleMarkAsAcknowledged = async () => { try { @@ -972,7 +962,7 @@ export default function OrderDetailsPage() { {order?.status === "acknowledged" && (