Android_Retail/src/Pages/BookingScreen/Components/UtillComponents/BSNavBarWeightScale.jsx

102 lines
3.1 KiB
React
Raw Normal View History

2026-01-27 18:27:29 +05:30
import { useEffect, useState, useCallback } from 'react';
import { useDispatch } from 'react-redux';
import PozoWeightScaleIcon from './Pozo retail icons/PozoWeightScaleIcon';
import {
changeWeightScalePort,
changeWeightScaleWeight,
} from '../../../../Features/BookingScreen/BookingData/BookingData';
import WeightScaleComp from '../../../../Components/WeightScale/weightScale.jsx';
import { Messages } from '../../../../Components/Notifications/Messages';
import TooltipWrapper from '../../../../Components/Tooltip/Tooltip';
import { isMobile } from 'react-device-detect';
import WeightScaleApp from '../../WeightscaleApp.jsx';
const BSNavBarWeightScale = ({Combo}) => {
const dispatch = useDispatch();
const [WeightScale, setWeightScale] = useState(false);
const [wsport, setwsport] = useState(null);
const [WeightScale2, setWeightScale2] = useState(false);
const [messageType, setMessageType] = useState(null);
const [messageData, setMessageData] = useState(null);
console.log(WeightScale,"WeightScale")
useEffect(() => {
if (WeightScale2 === true) {
setWeightScale(true);
} else {
setWeightScale(false);
}
}, [WeightScale2]);
const handleWeightScaleOpen = () => {
setWeightScale2(!WeightScale2);
dispatch(changeWeightScalePort(!WeightScale2));
};
const setWsport = async (e) => {
if (e?.readable) {
setwsport(e);
} else {
setMessageType('error');
setMessageData('Please check weightscale connection');
setWeightScale2(false);
}
};
const myfun = async (e) => {
console.log(e,"weight")
dispatch(changeWeightScaleWeight(e));
};
const onComplete = useCallback(() => {
setMessageData(null);
setMessageType(null);
}, []);
const msgAlert = async (e) => {
setMessageType(e.type);
setMessageData(e.msg);
};
return (
<div className="BSBilling7-icon-flex">
<Messages
messageType={messageType}
messageData={messageData}
onComplete={onComplete}
/>
<TooltipWrapper title={'Weight-Scale'} isMobile={isMobile}>
{Combo == "combolayout" ?
<button
className="BSC1Search-button1"
style={{ backgroundColor: WeightScale2 ? '#52c41a' : '#ff4d4f' }}
onClick={handleWeightScaleOpen}
>
Weight Scale
</button>
:
<PozoWeightScaleIcon
fill={WeightScale2 ? 'rgb(82, 196, 26)' : '#ff4d4f'}
className="BSBillingNav-icon"
onClick={handleWeightScaleOpen}
/>
}
{/* <FeaturesFunctionalities handleWeightScaleCancel={handleWeightScaleCancel} WeightScale={WeightScale} /> */}
{(WeightScale == true && isMobile) && (
<WeightScaleApp weightscaleclose={setWeightScale2} />
)}
{(WeightScale == true && !isMobile) && (
<WeightScaleComp
testfun={myfun}
setportfun={setWsport}
portval={wsport}
portclose={WeightScale2}
msg={msgAlert}
/>
)}
</TooltipWrapper>
</div>
);
};
export default BSNavBarWeightScale;