fix: tab-aware agreed banner — show delivery form when switching tabs, not stale pickup banner
This commit is contained in:
parent
fb5728ba43
commit
1cab6c886e
|
|
@ -654,6 +654,12 @@ export const OrderDetailPanel = ({
|
|||
}
|
||||
|
||||
const isDeliveryAgreed = ["agreed", "driver_assigned", "loaded", "on_route", "delivered"].includes(order.deliveryStatus || order.delivery_status);
|
||||
const isPickupOrder = order.deliveryType === "pickup" || order.deliveryStatus === "pickup" || order.delivery_status === "pickup";
|
||||
// Show "agreed" banner only when selected tab matches the already-agreed type
|
||||
const agreedTypeMatchesTab = isDeliveryAgreed && !isEditingDate && (
|
||||
(deliveryType === "pickup" && isPickupOrder)
|
||||
|| (deliveryType === "delivery" && !isPickupOrder)
|
||||
);
|
||||
const canEditDelivery = canManageDelivery && ["admin", "mega_admin", "logistician"].includes(userRole);
|
||||
const [isEditingDate, setIsEditingDate] = React.useState(false);
|
||||
const agreedDeliveryLabel = [
|
||||
|
|
@ -938,13 +944,13 @@ export const OrderDetailPanel = ({
|
|||
/>
|
||||
</div>
|
||||
)}
|
||||
{isDeliveryAgreed && !isEditingDate ? (
|
||||
{agreedTypeMatchesTab ? (
|
||||
<div className="space-y-3">
|
||||
<div className="rounded-[24px] border border-[rgba(18,128,92,0.35)] bg-[var(--color-accent-soft)] p-4 !text-[var(--color-text)]">
|
||||
<div className="flex flex-wrap items-center justify-between gap-3">
|
||||
<div>
|
||||
<p className="text-xs font-semibold uppercase tracking-[0.14em] text-[var(--color-accent)]">
|
||||
{(order.deliveryType === "pickup" || order.deliveryStatus === "pickup" || order.delivery_status === "pickup") ? "Самовывоз согласован" : "Доставка согласована"}
|
||||
{deliveryType === "pickup" ? "Самовывоз согласован" : "Доставка согласована"}
|
||||
</p>
|
||||
<p className="mt-1 text-lg font-semibold">
|
||||
{agreedDeliveryLabel || "Дата и время сохранены"}
|
||||
|
|
|
|||
Loading…
Reference in New Issue