fix(order-buttons): update cancel and confirm button logic based on order state

This commit is contained in:
vchikalkin 2025-07-03 16:21:44 +03:00
parent 76de850bf5
commit e2d92ade16

View File

@ -19,6 +19,7 @@ export function OrderButtons({ documentId }: Readonly<OrderComponentProps>) {
if (!order) return null;
const isCreated = order?.state === Enum_Order_State.Created;
const isApproved = order?.state === Enum_Order_State.Approved;
const isCompleted = order?.state === Enum_Order_State.Completed;
const isCancelling = order?.state === Enum_Order_State.Cancelling;
@ -51,11 +52,9 @@ export function OrderButtons({ documentId }: Readonly<OrderComponentProps>) {
return (
<FloatingActionPanel
isLoading={isPending}
onCancel={
isCancelled || (!isMaster && isCancelling) || isCompleted ? undefined : handleCancel
}
onCancel={isCreated || (isMaster && isCancelling) || isApproved ? handleCancel : undefined}
onComplete={isMaster && isApproved ? handleOnComplete : undefined}
onConfirm={isMaster && !isApproved ? handleApprove : undefined}
onConfirm={isMaster && isCreated ? handleApprove : undefined}
onRepeat={isCancelled || isCompleted ? handleOnRepeat : undefined}
onReturn={isMaster && isCancelled ? handleApprove : undefined}
/>