order detail + change status in all state
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
import Button from '@/components/Button'
|
||||
import type { FC } from 'react'
|
||||
|
||||
interface OrderActionsProps {
|
||||
showVerifyCashPaymentButton: boolean
|
||||
canConfirm: boolean
|
||||
showSendToKitchenButton: boolean
|
||||
showCancelButton: boolean
|
||||
isPreparing: boolean
|
||||
isCourierDelivery: boolean
|
||||
isCanceled: boolean
|
||||
isVerifyingPayment: boolean
|
||||
isChangingStatus: boolean
|
||||
onVerifyCashPayment: () => void
|
||||
onConfirmOrder: () => void
|
||||
onSendToKitchen: () => void
|
||||
onDeliverToCourier: () => void
|
||||
onOrderReady: () => void
|
||||
onCancelOrder: () => void
|
||||
}
|
||||
|
||||
const OrderActions: FC<OrderActionsProps> = ({
|
||||
showVerifyCashPaymentButton,
|
||||
canConfirm,
|
||||
showSendToKitchenButton,
|
||||
showCancelButton,
|
||||
isPreparing,
|
||||
isCourierDelivery,
|
||||
isCanceled,
|
||||
isVerifyingPayment,
|
||||
isChangingStatus,
|
||||
onVerifyCashPayment,
|
||||
onConfirmOrder,
|
||||
onSendToKitchen,
|
||||
onDeliverToCourier,
|
||||
onOrderReady,
|
||||
onCancelOrder
|
||||
}) => {
|
||||
if (isCanceled) return null
|
||||
|
||||
return (
|
||||
<div className='mt-6 flex flex-col gap-3'>
|
||||
{showVerifyCashPaymentButton && (
|
||||
<Button
|
||||
label='تایید پرداخت'
|
||||
onClick={onVerifyCashPayment}
|
||||
isloading={isVerifyingPayment}
|
||||
className='bg-green-600 hover:bg-green-700'
|
||||
/>
|
||||
)}
|
||||
|
||||
{canConfirm && (
|
||||
<Button
|
||||
label='تایید سفارش'
|
||||
onClick={onConfirmOrder}
|
||||
isloading={isChangingStatus}
|
||||
/>
|
||||
)}
|
||||
|
||||
{showSendToKitchenButton && (
|
||||
<Button
|
||||
label='ارسال به آشپزخانه'
|
||||
onClick={onSendToKitchen}
|
||||
isloading={isChangingStatus}
|
||||
className='bg-orange-600 hover:bg-orange-700'
|
||||
/>
|
||||
)}
|
||||
|
||||
{isPreparing && isCourierDelivery && (
|
||||
<Button
|
||||
label='تحویل به پیک'
|
||||
onClick={onDeliverToCourier}
|
||||
isloading={isChangingStatus}
|
||||
className='bg-blue-600 hover:bg-blue-700'
|
||||
/>
|
||||
)}
|
||||
|
||||
{isPreparing && !isCourierDelivery && (
|
||||
<Button
|
||||
label='غذا آماده است'
|
||||
onClick={onOrderReady}
|
||||
isloading={isChangingStatus}
|
||||
className='bg-green-600 hover:bg-green-700'
|
||||
/>
|
||||
)}
|
||||
|
||||
{showCancelButton && (
|
||||
<Button
|
||||
label='لغو سفارش'
|
||||
onClick={onCancelOrder}
|
||||
isloading={isChangingStatus}
|
||||
className='bg-red-600 hover:bg-red-700'
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default OrderActions
|
||||
|
||||
Reference in New Issue
Block a user