diff --git a/apps/web/components/orders/order-buttons.tsx b/apps/web/components/orders/order-buttons.tsx index 66fcf79..0e9819d 100644 --- a/apps/web/components/orders/order-buttons.tsx +++ b/apps/web/components/orders/order-buttons.tsx @@ -52,19 +52,12 @@ export function OrderButtons({ documentId }: Readonly) { handleCancel() - } - onComplete={isApproved && isMaster ? handleOnComplete : undefined} - onConfirm={ - !isMaster || - isApproved || - (!isMaster && isCancelled) || - (!isMaster && isCancelling) || - isCompleted - ? undefined - : () => handleApprove() + isCancelled || (!isMaster && isCancelling) || isCompleted ? undefined : handleCancel } + onComplete={isMaster && isApproved ? handleOnComplete : undefined} + onConfirm={isMaster && !isApproved ? handleApprove : undefined} onRepeat={isCancelled || isCompleted ? handleOnRepeat : undefined} + onReturn={isMaster && isCancelled ? handleApprove : undefined} /> ); } diff --git a/apps/web/components/shared/action-panel.tsx b/apps/web/components/shared/action-panel.tsx index 807ff9c..cb5f413 100644 --- a/apps/web/components/shared/action-panel.tsx +++ b/apps/web/components/shared/action-panel.tsx @@ -2,7 +2,7 @@ import { Button } from '@repo/ui/components/ui/button'; import { Card } from '@repo/ui/components/ui/card'; -import { Ban, Check, Lock, RotateCcw, Trash2, Unlock } from 'lucide-react'; +import { Ban, Check, Lock, RotateCcw, Trash2, Undo, Unlock } from 'lucide-react'; type FloatingActionPanelProps = { readonly isLoading?: boolean; @@ -12,6 +12,7 @@ type FloatingActionPanelProps = { readonly onConfirm?: () => void; readonly onDelete?: () => void; readonly onRepeat?: () => void; + readonly onReturn?: () => void; readonly onToggle?: () => void; }; @@ -23,10 +24,12 @@ export default function FloatingActionPanel({ onConfirm, onDelete, onRepeat, + onReturn, onToggle, }: FloatingActionPanelProps) { // Если не переданы обработчики, скрываем панель - if (!onCancel && !onConfirm && !onDelete && !onComplete && !onRepeat && !onToggle) return null; + if (!onCancel && !onConfirm && !onDelete && !onComplete && !onRepeat && !onToggle && !onReturn) + return null; return ( @@ -124,6 +127,19 @@ export default function FloatingActionPanel({ Подтвердить )} + + {/* Кнопка вернуть */} + {onReturn && ( + + )} );