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 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 canEditDelivery = canManageDelivery && ["admin", "mega_admin", "logistician"].includes(userRole);
|
||||||
const [isEditingDate, setIsEditingDate] = React.useState(false);
|
const [isEditingDate, setIsEditingDate] = React.useState(false);
|
||||||
const agreedDeliveryLabel = [
|
const agreedDeliveryLabel = [
|
||||||
|
|
@ -938,13 +944,13 @@ export const OrderDetailPanel = ({
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{isDeliveryAgreed && !isEditingDate ? (
|
{agreedTypeMatchesTab ? (
|
||||||
<div className="space-y-3">
|
<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="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 className="flex flex-wrap items-center justify-between gap-3">
|
||||||
<div>
|
<div>
|
||||||
<p className="text-xs font-semibold uppercase tracking-[0.14em] text-[var(--color-accent)]">
|
<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>
|
||||||
<p className="mt-1 text-lg font-semibold">
|
<p className="mt-1 text-lg font-semibold">
|
||||||
{agreedDeliveryLabel || "Дата и время сохранены"}
|
{agreedDeliveryLabel || "Дата и время сохранены"}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue