import React, { useState, useEffect } from 'react'; import CardHeader from '../CardHeader'; import OrderDetails from '../OrderDetails'; import OrderProductsList from '../OrderProductsList'; import UserInformation from '../UserInformation'; import { KDSCardProps } from '../utils/types'; import { ContentWrapper, KDSCardWrapper, QueuePosDiv } from './style'; import { getBackgroundColor, getElements } from '../utils/helperFunctions'; import ButtonClose from '../Buttons/ButtonClose'; import ButtonsContainer from '../ButtonsContainer'; const KDSCard = (props: KDSCardProps): JSX.Element => { const { orderType, lastChanged, bucket, orderId, payments, due, extra, deliveryAddress, comments, users, venueConfig, callOrderApi, authProvider, verifiedTime, kdsDeviceConfigs, viewMode = '1', } = props; const { toDone, allDone, toPrepare, toConfirm } = getElements( bucket.lines, kdsDeviceConfigs && kdsDeviceConfigs.KDS_STAGE_DONE ? kdsDeviceConfigs.KDS_STAGE_DONE : '' ); const [isZoomIn, setIsZoomIn] = useState(false); useEffect(() => { if (isZoomIn) { document.body.style.overflow = 'hidden'; } else { document.body.style.overflow = 'auto'; } }, [isZoomIn]); // viewMode === '1' - standard view // viewMode === '2' - minimal view, only queueNo & buttons return ( {isZoomIn && } {viewMode !== '2' && ( <> )} {viewMode !== '2' && ( <> )} {viewMode === '2' && ( #{bucket.queuePos} )} ); }; export default KDSCard;