import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Popconfirm, Drawer } from 'antd'; import { QuestionCircleOutlined } from '@ant-design/icons'; import PozoDineInIcon from '../KioskIcons/KioskDineIn'; import TakeAway from '../KioskIcons/KioskTakeAway'; import { IoIosArrowForward } from 'react-icons/io'; import { MdCurrencyRupee } from 'react-icons/md'; import { changeKioskCustomerMobileNo, changeKioskPageName, getKioskDarkColour, globalCurrentKioskPageName, globalSalesType, } from '../../../Features/Kiosk/kiosk'; import { GlobalBookingTypeKiosk, GlobalKioskOrderDetails, GlobalOrderbtnClicked, GlobalPaymentgatewayRedirect, changeAllGlbStatustData, changeBookingType, } from '../../../Features/BookingScreen/BookingData/KioskBookingData'; import OrderCart1 from '../OrderCart/OrderCart1'; import OrderCart2 from '../OrderCart/OrderCart2'; import OrderCart3 from '../OrderCart/OrderCart3'; import '../../../Styles/Kiosk/Components/KioskFooter3.scss'; import KioskPayment from '../Payment/KioskPaymentWithModal'; const KioskFooter3 = (props) => { const dispatch = useDispatch(); const KioskOrderDetails = useSelector(GlobalKioskOrderDetails); const KioskCurrentPage = useSelector(globalCurrentKioskPageName); const BookingType = useSelector(GlobalBookingTypeKiosk); const getKioskDarkColourdata = useSelector(getKioskDarkColour); const getmobilepage = useSelector(GlobalPaymentgatewayRedirect); const SalesType = useSelector(globalSalesType); const [TotalTaxAmount, setTotalTaxAmount] = useState(null); const [TotalBillAmount, setBillAmount] = useState(null); const [TotalNetAmount, setTotalNetAmount] = useState(null); const [paymentModalOpen, setPaymentModalOpen] = useState(false); const clicked = useSelector(GlobalOrderbtnClicked); const kioskTemplateData = props?.data; const sessionData = props?.SessionDtl; useEffect(() => { TotalCalculation(); }, [KioskOrderDetails]); useEffect(() => { if (getmobilepage) { MobileNumberPage(); } }, [getmobilepage]); const TotalCalculation = () => { const totalwithouttax = KioskOrderDetails?.reduce((accumulator, card) => { return accumulator + parseFloat(card.WithoutTaxRate || 0); }, 0); setBillAmount(parseFloat(totalwithouttax)?.toFixed(2)); const totalPrice = KioskOrderDetails?.reduce((accumulator, card) => { return accumulator + parseFloat(card.TotalAmt || 0); }, 0); setTotalNetAmount(parseFloat(totalPrice)?.toFixed(2)); const totalTaxAmt = KioskOrderDetails?.reduce((accumulator, card) => { return accumulator + parseFloat(card.TaxAmt || 0); }, 0); setTotalTaxAmount(parseFloat(totalTaxAmt)?.toFixed(2)); }; const MobileNumberPage = async () => { setPaymentModalOpen(true); }; const handleClick = () => { if (KioskCurrentPage === 'OrderView') { if (!clicked && KioskOrderDetails?.length > 0) { MobileNumberPage(); } } else { dispatch(changeKioskPageName('OrderView')); } }; const Oncancel = () => { dispatch(changeKioskPageName('initialPage')); dispatch(changeAllGlbStatustData()); dispatch(changeKioskCustomerMobileNo(null)); // clear all global val }; // Drawer code const [open, setOpen] = useState(false); const [placement, setPlacement] = useState('right'); const showDrawer = () => { setOpen(true); }; const onClose = () => { setOpen(false); }; // Change BookingType const ChangeType = async (Type) => { await dispatch(changeBookingType(Type)); }; const handlePaymentCancel = () => { setPaymentModalOpen(false); dispatch(changeKioskCustomerMobileNo(null)); }; return (
{/* total code area */}
0 ? 'space-between' : 'flex-end', padding: TotalTaxAmount > 0 ? '0.3rem 1rem' : '1rem 1rem', }} > {kioskTemplateData?.['KioskOrderCart']?.[0] == 'OrderCart1' ? ( ) : kioskTemplateData?.['KioskOrderCart']?.[0] == 'OrderCart2' ? ( ) : kioskTemplateData?.['KioskOrderCart']?.[0] == 'OrderCart3' ? ( ) : null} {/* Change booking type */} {KioskCurrentPage !== 'OrderView' && (
BookingType === 'TakeAway' && ChangeType('Dine In') } >

DineIn

BookingType !== 'TakeAway' && ChangeType('TakeAway') } >

TakeAway

)} {KioskOrderDetails?.length > 0 && KioskCurrentPage !== 'OrderView' && (
View order{' '}
)}

Total Items :{KioskOrderDetails?.length}

Bill Amount : {' '} {TotalBillAmount}
{TotalTaxAmount > 0 && (
Tax Amount : {' '} {TotalTaxAmount}
)}
Total Amount : {' '} {TotalNetAmount}
Are you sure, you want to cancel this order ?

} icon={ } cancelText="No" okText="Yes" okButtonProps={{ style: { width: '14rem', height: '2.5rem', borderRadius: '2rem', backgroundColor: '#FF3A3A', fontFamily: 'gilroy', fontWeight: '600', fontSize: '18px', border: 'none', }, className: 'custom-ok-button', }} cancelButtonProps={{ style: { width: '5rem', height: '2.5rem', borderRadius: '2rem', fontFamily: 'gilroy', fontWeight: '600', fontSize: '18px', }, type: 'default', className: 'custom-cancel-button', }} overlayClassName="custom-popconfirm-overlay" onConfirm={() => Oncancel()} >
cancel
0 && !clicked ? 'order-Enable' : 'order' } onClick={handleClick} style={{ cursor: KioskOrderDetails?.length > 0 && !clicked ? 'pointer' : 'default', backgroundColor: KioskOrderDetails?.length > 0 && !clicked ? getKioskDarkColourdata : '#E1E1E1', }} > Order
{paymentModalOpen && ( )}
); }; export default KioskFooter3;