Combo ShortCut add

This commit is contained in:
Your Name 2026-02-17 12:18:40 +05:30
parent 0d164b8686
commit 2497b722f4
17 changed files with 683 additions and 392 deletions

View File

@ -3209,6 +3209,7 @@ const ComboEditQtyAndRate = (props) => {
AddProductQuantity(); AddProductQuantity();
} }
}} }}
min={0}
className="EditQTYcomboInput" className="EditQTYcomboInput"
placeholder="Enter Qty" placeholder="Enter Qty"
/> />

View File

@ -148,13 +148,13 @@ const ComboSalesBillTable = () => {
OrderType === 'Hold' OrderType === 'Hold'
? tableData?.filter((a, b) => a.BookingTypeName === 'TakeAway') ? tableData?.filter((a, b) => a.BookingTypeName === 'TakeAway')
: tableData?.filter( : tableData?.filter(
(a, b) => a.BookingTypeName === 'TakeAway' && !a?.SalesId (a, b) => a.BookingTypeName === 'TakeAway' && !a?.SalesId
); );
const OldtableDataTakeAway = const OldtableDataTakeAway =
OrderType != 'Hold' OrderType != 'Hold'
? tableData?.filter( ? tableData?.filter(
(a, b) => a.BookingTypeName === 'TakeAway' && a?.SalesId (a, b) => a.BookingTypeName === 'TakeAway' && a?.SalesId
) )
: []; : [];
const [EditQuantity, setEditQuantity] = useState(false); const [EditQuantity, setEditQuantity] = useState(false);
@ -188,6 +188,26 @@ const ComboSalesBillTable = () => {
} }
}; };
const [isAltPressed, setIsAltPressed] = useState(false);
useEffect(() => {
const handleKeyDown = (e) => {
if (e.key === 'F2') setIsAltPressed(true);
};
const handleKeyUp = (e) => {
if (e.key === 'F2') setIsAltPressed(false);
};
window.addEventListener('keydown', handleKeyDown);
window.addEventListener('keyup', handleKeyUp);
return () => {
window.removeEventListener('keydown', handleKeyDown);
window.removeEventListener('keyup', handleKeyUp);
};
}, []);
// Outside click handler for quantity edit // Outside click handler for quantity edit
useEffect(() => { useEffect(() => {
@ -302,7 +322,6 @@ const ComboSalesBillTable = () => {
event.preventDefault(); event.preventDefault();
handleShortcut('weightAmount'); handleShortcut('weightAmount');
} }
}; };
window.addEventListener('keydown', handleKeyDown); window.addEventListener('keydown', handleKeyDown);
@ -1158,9 +1177,9 @@ const ComboSalesBillTable = () => {
)?.map((item, idx) => )?.map((item, idx) =>
idx === 0 idx === 0
? { ? {
...item, ...item,
FreeQty, FreeQty,
} }
: item : item
), ),
}; };
@ -2098,7 +2117,9 @@ const ComboSalesBillTable = () => {
const visibleCols = const visibleCols =
tableOptions?.filter((opt) => tableOptions?.filter((opt) =>
['Item', 'Quantity', 'Rate', 'Total'].includes(opt.OptionName) ['Item', 'Quantity', 'Rate', 'Total', 'Delete'].includes(
opt.OptionName
)
) || []; ) || [];
// Arrow Up/Down - Row navigation // Arrow Up/Down - Row navigation
@ -2153,9 +2174,12 @@ const ComboSalesBillTable = () => {
e.preventDefault(); e.preventDefault();
const row = combinedTableData[activeRowIndex]; const row = combinedTableData[activeRowIndex];
const col = visibleCols[activeColIndex]; const col = visibleCols[activeColIndex];
if (row && col && editField) { if (row && col) {
if (col.OptionName === 'Quantity') handleEditQuantityCombo(row); if (col.OptionName === 'Quantity' && editField)
else if (col.OptionName === 'Rate') handleEditRateCombo(row); handleEditQuantityCombo(row);
else if (col.OptionName === 'Rate' && editField)
handleEditRateCombo(row);
else if (col.OptionName === 'Delete') removeFromCart(row);
} }
} }
}; };
@ -2216,19 +2240,26 @@ const ComboSalesBillTable = () => {
{/* Quantity */} {/* Quantity */}
{item.OptionName === 'Quantity' && ( {item.OptionName === 'Quantity' && (
<th <Tooltip
className="qtyTh" placement="top"
key={item.OptionId} trigger={[]}
onClick={() => title="AlT + P"
tableData?.length > 0 && OpenEditTotalAmount() open={isAltPressed}
}
> >
{!isMobile ? ( <th
<Tooltip title="Quantity">Qty</Tooltip> className="qtyTh"
) : ( key={item.OptionId}
<div>Qty</div> onClick={() =>
)} tableData?.length > 0 && OpenEditTotalAmount()
</th> }
>
{!isMobile ? (
<Tooltip title="Quantity">Qty</Tooltip>
) : (
<div>Qty</div>
)}
</th>
</Tooltip>
)} )}
{/* Rate */} {/* Rate */}
@ -2371,20 +2402,20 @@ const ComboSalesBillTable = () => {
tableDataDinein?.length >= PreviousdataLength tableDataDinein?.length >= PreviousdataLength
? 'wheat' ? 'wheat'
: BookingType !== 'Dine In' && : BookingType !== 'Dine In' &&
triggerAnimation && triggerAnimation &&
OldtableDataTakeAway?.length + index === 0 && OldtableDataTakeAway?.length + index === 0 &&
tableDataDinein?.length >= PreviousdataLength && tableDataDinein?.length >= PreviousdataLength &&
!HoldOrderDtl && !HoldOrderDtl &&
!UnpaidData !UnpaidData
? 'wheat' ? 'wheat'
: 'inherit' : 'inherit'
: 'none', : 'none',
background: row?.SalesId background: row?.SalesId
? 'rgb(243, 248, 213)' ? 'rgb(243, 248, 213)'
: GlobEstBooking === 'ParEst' && : GlobEstBooking === 'ParEst' &&
GlobProdwisedata?.includes( GlobProdwisedata?.includes(
row?.InwardDtlId + ' ' + row?.BookingTypeName row?.InwardDtlId + ' ' + row?.BookingTypeName
) )
? '#b2d1f7' ? '#b2d1f7'
: (OldtableDataTakeAway?.length + index) % 2 === 0 : (OldtableDataTakeAway?.length + index) % 2 === 0
? 'white' ? 'white'
@ -2407,7 +2438,7 @@ const ComboSalesBillTable = () => {
const isActiveCell = const isActiveCell =
activeRowIndex === index && activeRowIndex === index &&
activeColIndex !== null && activeColIndex !== null &&
['Item', 'Quantity', 'Rate', 'Total'].indexOf( ['Item', 'Quantity', 'Rate', 'Total', 'Delete'].indexOf(
item.OptionName item.OptionName
) === activeColIndex; ) === activeColIndex;
@ -2427,37 +2458,44 @@ const ComboSalesBillTable = () => {
{/* Product Name / Item */} {/* Product Name / Item */}
{(item.OptionName === 'Item' || {(item.OptionName === 'Item' ||
item.OptionName === 'Product Name') && ( item.OptionName === 'Product Name') && (
<td <td
key={`prod-${index}`} key={`prod-${index}`}
className={`productNameTd ${isActiveCell ? 'active-cell' : ''}`} className={`productNameTd ${isActiveCell ? 'active-cell' : ''}`}
onClick={() => onClick={() =>
row.FullProductIdentifierDtls?.length > 0 || row.FullProductIdentifierDtls?.length > 0 ||
row.ProductIdentifierDtls?.length > 0 row.ProductIdentifierDtls?.length > 0
? handleImeiDetails(row) ? handleImeiDetails(row)
: editField && handleEditQuantity(row) : editField && handleEditQuantity(row)
} }
> >
{row?.Type !== 'OS' ? row.ProdName : row.ServiceName} {row?.Type !== 'OS' ? row.ProdName : row.ServiceName}
{row?.BrandName ? ` ${row.BrandName}` : ''} {row?.BrandName ? ` ${row.BrandName}` : ''}
{row?.Type !== 'C' && ( {row?.Type !== 'C' && (
<p className="Tbl3-Variant"> <p
{/* {row?.ProdVariantName} {row?.Size} {row?.UomName} */} // className="Tbl3-Variant"
( className={
{!row?.ProdVariantName?.toLowerCase()?.includes( isActiveCell
'variant' ? 'Tbl3VariantActve'
) && <span>{row?.ProdVariantName} </span>} : 'Tbl3-Variant'
{row?.Size} }
{row?.SinglePc == 'Y' ? 'PCS' : row?.UomName}) >
{/* {row?.ProdVariantName} {row?.Size} {row?.UomName} */}
(
{!row?.ProdVariantName?.toLowerCase()?.includes(
'variant'
) && <span>{row?.ProdVariantName} </span>}
{row?.Size}
{row?.SinglePc == 'Y' ? 'PCS' : row?.UomName})
</p>
)}
{row?.Type === 'C' &&
row.ProdDetail?.map((prod, idx) => (
<p key={idx}>
{prod.ProdName} - {prod.Size} {prod.UomName}
</p> </p>
)} ))}
{row?.Type === 'C' && </td>
row.ProdDetail?.map((prod, idx) => ( )}
<p key={idx}>
{prod.ProdName} - {prod.Size} {prod.UomName}
</p>
))}
</td>
)}
{/* Barcode */} {/* Barcode */}
{item.OptionName === 'Barcode' && ( {item.OptionName === 'Barcode' && (
@ -2484,28 +2522,29 @@ const ComboSalesBillTable = () => {
}} }}
key={`qty-${index}`} key={`qty-${index}`}
tabIndex={0} tabIndex={0}
className={`${EditQtyCombo && row?.localId === Index className={`${
? 'EditQTYcomboTD' EditQtyCombo && row?.localId === Index
: 'qtyTd' ? 'EditQTYcomboTD'
} ${isActiveCell ? 'active-cell' : ''}`} : 'qtyTd'
onClick={() => } ${isActiveCell ? 'active-cell' : ''}`}
editField && handleEditQuantityCombo(row) onClick={() =>
} editField && handleEditQuantityCombo(row)
}
> >
{(!EditQtyCombo || row?.localId !== Index) && ( {(!EditQtyCombo || row?.localId !== Index) && (
<>{row.OrderQty}</> <>{row.OrderQty}</>
)} )}
{EditQtyCombo && row?.localId === Index && ( {EditQtyCombo && row?.localId === Index && (
<ComboEditQtyAndRate <ComboEditQtyAndRate
key={`edit-qty-${Index}`} key={`edit-qty-${Index}`}
handleEditQuantityCancel={ handleEditQuantityCancel={
handleEditQuantityComboCancel handleEditQuantityComboCancel
} }
BSBillingEditQuantity={EditQtyCombo} BSBillingEditQuantity={EditQtyCombo}
Productdata={Modaldata} Productdata={Modaldata}
Index={Index} Index={Index}
setIndex={setIndex} setIndex={setIndex}
setEditQtyCombo={setEditQtyCombo} setEditQtyCombo={setEditQtyCombo}
/> />
)} )}
</td> </td>
@ -2518,24 +2557,24 @@ const ComboSalesBillTable = () => {
className={`${EditRateCombo ? 'rateTdEditRate' : 'rateTd'} ${isActiveCell ? 'active-cell' : ''}`} className={`${EditRateCombo ? 'rateTdEditRate' : 'rateTd'} ${isActiveCell ? 'active-cell' : ''}`}
onClick={() => editField && handleEditRateCombo(row)} onClick={() => editField && handleEditRateCombo(row)}
> >
{!EditRateCombo || row?.localId !== Index ? ( {!EditRateCombo || row?.localId !== Index ? (
<> <>
{allowDecimal {allowDecimal
? Number(row?.OrderRate).toFixed(2) ? Number(row?.OrderRate).toFixed(2)
: Number(row?.OrderRate)} : Number(row?.OrderRate)}
</> </>
) : null} ) : null}
{EditRateCombo && row?.localId === Index && ( {EditRateCombo && row?.localId === Index && (
<ComboEditQtyAndRate <ComboEditQtyAndRate
key={`edit-rate-${Index}`} key={`edit-rate-${Index}`}
handleEditRateComboCancel={ handleEditRateComboCancel={
handleEditRateComboCancel handleEditRateComboCancel
} }
BSBillingEditRate={EditRateCombo} BSBillingEditRate={EditRateCombo}
Productdata={Modaldata} Productdata={Modaldata}
Index={Index} Index={Index}
setIndex={setIndex} setIndex={setIndex}
setEditRateCombo={setEditRateCombo} setEditRateCombo={setEditRateCombo}
/> />
)} )}
</td> </td>
@ -2550,9 +2589,9 @@ const ComboSalesBillTable = () => {
> >
{row?.Offer > 0 {row?.Offer > 0
? `${( ? `${(
(row.Offer / (row?.OrderQty * row?.OrderRate)) * (row.Offer / (row?.OrderQty * row?.OrderRate)) *
100 100
).toFixed(2)}%` ).toFixed(2)}%`
: '-'} : '-'}
</td> </td>
)} )}
@ -2584,8 +2623,8 @@ const ComboSalesBillTable = () => {
> >
{allowDecimal {allowDecimal
? Number(row.TotalAmt - (row?.Offer || 0)).toFixed( ? Number(row.TotalAmt - (row?.Offer || 0)).toFixed(
2 2
) )
: Number(row.TotalAmt - (row?.Offer || 0))} : Number(row.TotalAmt - (row?.Offer || 0))}
</td> </td>
)} )}
@ -2625,11 +2664,15 @@ const ComboSalesBillTable = () => {
{/* Delete */} {/* Delete */}
{item.OptionName === 'Delete' && ( {item.OptionName === 'Delete' && (
<td key={`delete-${index}`} className="deleteTd"> <td
key={`delete-${index}`}
className={`deleteTd ${isActiveCell ? 'active-cell' : ''}`}
// className=""
>
<AiOutlineClose <AiOutlineClose
onClick={() => removeFromCart(row)} onClick={() => removeFromCart(row)}
style={{ style={{
color: '#FF4D4F', color: isActiveCell ? '#fff' : '#FF4D4F',
cursor: 'pointer', cursor: 'pointer',
textAlign: 'center', textAlign: 'center',
width: '100%', width: '100%',

View File

@ -28,9 +28,9 @@
} }
tbody { tbody {
>tr:last-child { > tr:last-child {
// background-color: #e5d434 !important; // background-color: #e5d434 !important;
background-color: #ffffff !important; background-color: #dde9ff !important;
position: sticky; position: sticky;
bottom: 0; bottom: 0;
} }
@ -207,7 +207,7 @@
box-shadow: 0 0 5px rgba(255, 193, 7, 0.5); box-shadow: 0 0 5px rgba(255, 193, 7, 0.5);
} }
:where(.css-dev-only-do-not-override-mncuj7).ant-select-dropdown
:where(.css-dev-only-do-not-override-mncuj7).ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled) { .ant-select-item-option-active:not(.ant-select-item-option-disabled) {
background-color: rgba(116, 107, 107, 0.356); background-color: rgba(116, 107, 107, 0.356);
} }

View File

@ -41,7 +41,7 @@ import UserRelieveManager from '../../Template/RealivingUser.jsx';
import BSNavBarUserInfo from '../BSNavbar/BSNavBarUserInfo.jsx'; import BSNavBarUserInfo from '../BSNavbar/BSNavBarUserInfo.jsx';
import BSScanTemplate from '../UtillComponents/BSScanTemplate.jsx'; import BSScanTemplate from '../UtillComponents/BSScanTemplate.jsx';
import { RiFullscreenExitFill, RiFullscreenFill } from 'react-icons/ri'; import { RiFullscreenExitFill, RiFullscreenFill } from 'react-icons/ri';
import { Tooltip } from 'antd'; import { Popconfirm, Tooltip } from 'antd';
import { FaCaretDown } from 'react-icons/fa'; import { FaCaretDown } from 'react-icons/fa';
const subDirectory = import.meta.env.ENV_BASE_URL; const subDirectory = import.meta.env.ENV_BASE_URL;
@ -253,11 +253,17 @@ const BSC1NavBar = (props) => {
> >
<div className="BSC1NavBar-div1"> <div className="BSC1NavBar-div1">
<div className="BSC1NavBar-manu"> <div className="BSC1NavBar-manu">
<PozoHomeIcon <Popconfirm
style={{ color: '#1292EE', fontSize: '30px' }} title="Are you sure you want to go to home?"
className="BSC1NavBar-manu-icon" onConfirm={handleHome}
onClick={handleHome} okText="Yes"
/> cancelText="No"
>
<PozoHomeIcon
style={{ color: '#1292EE', fontSize: '30px' }}
className="BSC1NavBar-manu-icon"
/>
</Popconfirm>{' '}
<div <div
className={`BSC1NavBar-manu-content ${menu ? 'BSC1NavBar-manu-menu' : ''}`} className={`BSC1NavBar-manu-content ${menu ? 'BSC1NavBar-manu-menu' : ''}`}
> >

View File

@ -3,7 +3,7 @@ import { FaWhatsapp, FaPrint, FaParking } from 'react-icons/fa';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import moment from 'moment'; import moment from 'moment';
import { Badge, Popover, Modal } from 'antd'; import { Badge, Popover, Modal, Tooltip } from 'antd';
import { AiOutlineClose, AiOutlineArrowRight } from 'react-icons/ai'; import { AiOutlineClose, AiOutlineArrowRight } from 'react-icons/ai';
import { GiBasket } from 'react-icons/gi'; import { GiBasket } from 'react-icons/gi';
import { import {
@ -573,6 +573,27 @@ const BSC1Payment = (props) => {
), ),
'11111111111111' '11111111111111'
); );
const [isAltPressed, setIsAltPressed] = useState(false);
useEffect(() => {
const handleKeyDown = (e) => {
if (e.key === 'F2') setIsAltPressed(true);
};
const handleKeyUp = (e) => {
if (e.key === 'F2') setIsAltPressed(false);
};
window.addEventListener('keydown', handleKeyDown);
window.addEventListener('keyup', handleKeyUp);
return () => {
window.removeEventListener('keydown', handleKeyDown);
window.removeEventListener('keyup', handleKeyUp);
};
}, []);
// Usage // Usage
useEffect(() => { useEffect(() => {
const setDefaultPaymentOption = async () => { const setDefaultPaymentOption = async () => {
@ -3551,32 +3572,45 @@ const BSC1Payment = (props) => {
{BSComboNavbar?.[1]?.map((item) => ( {BSComboNavbar?.[1]?.map((item) => (
<> <>
{item?.OptionName == 'QuickAdd' && ( {item?.OptionName == 'QuickAdd' && (
<TooltipWrapper title={'QuickAdd'} isMobile={isMobile}> <Tooltip
<div placement="top"
className="BSC1Payment-div1-btns" trigger={[]}
onClick={setQuickOpen} title="ALT + N"
style={{ open={isAltPressed}
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto', >
}} <TooltipWrapper title={'QuickAdd'} isMobile={isMobile}>
>
<PozoQuickAddIcon className="BSC1Payment-icon " />
<div <div
className="BSC1Payment-div1-btns"
onClick={setQuickOpen}
style={{ style={{
display: 'flex', pointerEvents:
flexDirection: 'column', OrderType === 'Failed' ? 'none' : 'auto',
alignItems: 'center',
justifyContent: 'center',
}} }}
> >
Quick Add <PozoQuickAddIcon className="BSC1Payment-icon " />
<span <div
style={{ fontSize: '9px', letterSpacing: '0.5px' }} style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center',
}}
> >
(Alt + N) Quick Add
</span> {!isAltPressed && (
<span
style={{
fontSize: '9px',
letterSpacing: '0.5px',
}}
>
(Alt + N)
</span>
)}
</div>
</div> </div>
</div> </TooltipWrapper>
</TooltipWrapper> </Tooltip>
)} )}
{item?.OptionName == 'DineIn' && {item?.OptionName == 'DineIn' &&
DineInPreference?.SettingValue === 'Y' && DineInPreference?.SettingValue === 'Y' &&
@ -3662,61 +3696,86 @@ const BSC1Payment = (props) => {
</div> </div>
)} )}
{item?.OptionName == 'ExtraCharge' && ( {item?.OptionName == 'ExtraCharge' && (
<TooltipWrapper title={'Extra Charge'} isMobile={isMobile}> <Tooltip
<div placement="top"
className="BSC1Payment-div1-btns" trigger={[]}
onClick={handleextraCharges} title="Alt + A"
style={{ open={isAltPressed}
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto', >
display: 'flex', <TooltipWrapper title={'Extra Charge'} isMobile={isMobile}>
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center',
}}
>
<div style={{ display: 'flex' }}>
<PozoExtraChargesIcon className="BSC1Payment-icon" />
{/* EXTRA CHARGE */}
Extra Charge
</div>
<div style={{ fontSize: '9px', letterSpacing: '0.5px' }}>
(Alt + A)
</div>
</div>
</TooltipWrapper>
)}
{item?.OptionName == 'RePrint' && (
<TooltipWrapper title={'RePrint'} isMobile={isMobile}>
<div
className="BSC1Payment-div1-btns"
onClick={handleReprint}
style={{
pointerEvents: OrderType === 'Failed' ? 'none' : 'auto',
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center',
}}
>
<div <div
className="BSC1Payment-div1-btns"
onClick={handleextraCharges}
style={{ style={{
pointerEvents:
OrderType === 'Failed' ? 'none' : 'auto',
display: 'flex', display: 'flex',
flexDirection: 'column',
alignItems: 'center', alignItems: 'center',
gap: '4px', justifyContent: 'center',
whiteSpace: 'nowrap',
}} }}
> >
<PozoReprintIcon className="BSC1Payment-icon" /> <div style={{ display: 'flex' }}>
Re-Print <PozoExtraChargesIcon className="BSC1Payment-icon" />
<span {/* EXTRA CHARGE */}
style={{ fontSize: '9px', letterSpacing: '0.5px' }} Extra Charge
> </div>
(Alt + R)
</span> {!isAltPressed && (
<div
style={{ fontSize: '9px', letterSpacing: '0.5px' }}
>
(Alt + A)
</div>
)}
</div> </div>
</div> </TooltipWrapper>
</TooltipWrapper> </Tooltip>
)}
{item?.OptionName == 'RePrint' && (
<Tooltip
placement="top"
trigger={[]}
title="Alt + R"
open={isAltPressed}
>
<TooltipWrapper title={'RePrint'} isMobile={isMobile}>
<div
className="BSC1Payment-div1-btns"
onClick={handleReprint}
style={{
pointerEvents:
OrderType === 'Failed' ? 'none' : 'auto',
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center',
}}
>
<div
style={{
display: 'flex',
alignItems: 'center',
gap: '4px',
whiteSpace: 'nowrap',
}}
>
<PozoReprintIcon className="BSC1Payment-icon" />
Re-Print
{!isAltPressed && (
<span
style={{
fontSize: '9px',
letterSpacing: '0.5px',
}}
>
(Alt + R)
</span>
)}
</div>
</div>
</TooltipWrapper>
</Tooltip>
)} )}
</> </>
))} ))}
@ -4209,32 +4268,39 @@ const BSC1Payment = (props) => {
OrderType != 'Failed' && OrderType != 'Failed' &&
CheckBookingStatus != 'Close' && CheckBookingStatus != 'Close' &&
!addnewAccess && ( !addnewAccess && (
<TooltipWrapper title={'Hold'} isMobile={isMobile}> <Tooltip
{' '} placement="bottom"
<div trigger={[]}
style={{ title="ALT + W"
backgroundColor: '' ? '#52c41a' : '#1292EE', open={isAltPressed}
color: '' ? '#52c41a' : '#ffffffff', >
height: '40px', <TooltipWrapper title={'Hold'} isMobile={isMobile}>
width: '45px', {' '}
borderRadius: '6px', <div
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
padding: '8px 8px 12px 8px',
}}
>
<PozoHoldIcon
className="BSBillingNav-icon-table-icon"
onClick={() => AddBookingDetails('Hold')}
style={{ style={{
cursor: 'pointer', backgroundColor: '' ? '#52c41a' : '#1292EE',
// color: '' ? '#52c41a' : '#1292EE', color: '' ? '#52c41a' : '#ffffffff',
height: '40px',
width: '45px',
borderRadius: '6px',
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
padding: '8px 8px 12px 8px',
}} }}
/>{' '} >
{/* <p className="payOptionDecition"> Hold</p> */} <PozoHoldIcon
</div> className="BSBillingNav-icon-table-icon"
</TooltipWrapper> onClick={() => AddBookingDetails('Hold')}
style={{
cursor: 'pointer',
// color: '' ? '#52c41a' : '#1292EE',
}}
/>{' '}
{/* <p className="payOptionDecition"> Hold</p> */}
</div>
</TooltipWrapper>
</Tooltip>
) )
: ''} : ''}
@ -4542,101 +4608,119 @@ const BSC1Payment = (props) => {
{BSComboData?.BookingBilling?.[1]?.map((item) => ( {BSComboData?.BookingBilling?.[1]?.map((item) => (
<> <>
{item?.OptionName == 'AddCustomer' && !preOrderOpen && ( {item?.OptionName == 'AddCustomer' && !preOrderOpen && (
<div <Tooltip
style={{ display: 'flex', gap: '0', alignItems: 'center' }} placement="top"
trigger={[]}
title="ALT + Z"
open={isAltPressed}
> >
<BSCustomerSelect /> <div
<TooltipWrapper title={'Add Customer'} isMobile={isMobile}> style={{ display: 'flex', gap: '0', alignItems: 'center' }}
<div> >
<PozoAddCustomerIcon <BSCustomerSelect />
className="BSBillingNav-icon-table-icon bspaymentcomboAddCus" <TooltipWrapper title={'Add Customer'} isMobile={isMobile}>
onClick={handleAddCustomer} <div>
style={{ <PozoAddCustomerIcon
display: 'flex', className="BSBillingNav-icon-table-icon bspaymentcomboAddCus"
fontSize: '20px', onClick={handleAddCustomer}
width: '35px', style={{
height: '40px', display: 'flex',
padding: '4px', fontSize: '20px',
borderRadius: '0 6px 6px 0', width: '35px',
cursor: Custdisable ? 'not-allowed' : 'pointer', height: '40px',
color: padding: '4px',
selOption || GetCustId ? '#ffffffff' : '#ffffffff', borderRadius: '0 6px 6px 0',
backgroundColor: cursor: Custdisable ? 'not-allowed' : 'pointer',
selOption || GetCustId ? '#52c41a' : '#1292EE', color:
}} selOption || GetCustId
/> ? '#ffffffff'
</div> : '#ffffffff',
</TooltipWrapper> backgroundColor:
</div> selOption || GetCustId ? '#52c41a' : '#1292EE',
}}
/>
</div>
</TooltipWrapper>
</div>
</Tooltip>
)} )}
</> </>
))} ))}
<div className="comboTotalBillBTN"> <div className="comboTotalBillBTN">
<TooltipWrapper title="Create Bill (F4)" isMobile={isMobile}> <Tooltip
<button placement="left"
className={ trigger={[]}
// (empData?.AddAccess === "N" || SAAccessCommonMaster?.AddAccess === "N") title="F4"
addnewAccess open={isAltPressed}
? 'BSC1Payment-div4-button-disable' >
: FirstPaymentclick === false && <TooltipWrapper title="Create Bill (F4)" isMobile={isMobile}>
OrderCardDetail?.length > 0 && <button
paybtnselected && className={
CheckBookingStatus != 'Close' // (empData?.AddAccess === "N" || SAAccessCommonMaster?.AddAccess === "N")
? !OrderStatus addnewAccess
? salesBillEdit && ? 'BSC1Payment-div4-button-disable'
currentOrderNetAmount < previousNetAmount : FirstPaymentclick === false &&
? 'BSC1Payment-div4-button' OrderCardDetail?.length > 0 &&
: 'BSC1Payment-div4-button' paybtnselected &&
: 'BSC1Payment-div4-button Order' CheckBookingStatus != 'Close'
: 'BSC1Payment-div4-button-disable' ? !OrderStatus
} ? salesBillEdit &&
// onClick={() => { currentOrderNetAmount < previousNetAmount
// (qrCode && SelectedUPIPayOption === "Default") ? UpiPayment() : OrderStatus ? AddBookingDetails("Dine-In") : AddBookingDetails(BookingType, true); ? 'BSC1Payment-div4-button'
// }} : 'BSC1Payment-div4-button'
onClick={handleButtonClick} : 'BSC1Payment-div4-button Order'
style={{ borderRadius: '6px 0 0 6px' }} : 'BSC1Payment-div4-button-disable'
> }
{!OrderStatus ? ( // onClick={() => {
salesBillEdit && currentOrderNetAmount < previousNetAmount ? ( // (qrCode && SelectedUPIPayOption === "Default") ? UpiPayment() : OrderStatus ? AddBookingDetails("Dine-In") : AddBookingDetails(BookingType, true);
<div className="Table4-Order"> // }}
Refund: onClick={handleButtonClick}
{(previousNetAmount || 0) - (currentOrderNetAmount || 0)} style={{ borderRadius: '6px 0 0 6px' }}
</div> >
{!OrderStatus ? (
salesBillEdit &&
currentOrderNetAmount < previousNetAmount ? (
<div className="Table4-Order">
Refund:
{(previousNetAmount || 0) -
(currentOrderNetAmount || 0)}
</div>
) : (
<>
{isMobile ? (
`${safeRound(
OrderType === 'Failed'
? FailedTotalAmt
: credit && overAllBal >= 0
? Math.max(0, TotalAmount - overAllBal)
: TotalAmount
)}`
) : (
<div>
<CountUp
duration={0.4}
className="counter"
end={safeRound(
OrderType === 'Failed'
? FailedTotalAmt
: credit && overAllBal >= 0
? Math.max(0, TotalAmount - overAllBal)
: TotalAmount
)}
/>
</div>
)}
<AiOutlineArrowRight width="25px" height="25px" />
</>
)
) : ( ) : (
<> <div className="Table4-Order">ORDER</div>
{isMobile ? ( )}
`${safeRound( </button>
OrderType === 'Failed' </TooltipWrapper>
? FailedTotalAmt </Tooltip>
: credit && overAllBal >= 0
? Math.max(0, TotalAmount - overAllBal)
: TotalAmount
)}`
) : (
<div>
<CountUp
duration={0.4}
className="counter"
end={safeRound(
OrderType === 'Failed'
? FailedTotalAmt
: credit && overAllBal >= 0
? Math.max(0, TotalAmount - overAllBal)
: TotalAmount
)}
/>
</div>
)}
<AiOutlineArrowRight width="25px" height="25px" />
</>
)
) : (
<div className="Table4-Order">ORDER</div>
)}
</button>
</TooltipWrapper>
<Popover <Popover
content={ content={
<> <>

View File

@ -4761,7 +4761,7 @@ export default function BSC1Search(props) {
</div> </div>
</div> </div>
</div> </div>
<div className="Re-Print-table"> <div className="StockVariantModal">
<Tables columns={stockcolumns} data={stockdataSource} /> <Tables columns={stockcolumns} data={stockdataSource} />
</div> </div>
</div> </div>

View File

@ -10,6 +10,7 @@ import { GlobalCompBranchData } from '../../../../Features/BrachLogin/BranchLogi
import { userDataByUserId } from '../../../../Features/UserAccount/userData'; import { userDataByUserId } from '../../../../Features/UserAccount/userData';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import "../../../../Styles/BookingScreen/Components/BSNavbar/BSNavbar1.scss"
const subDirectory = import.meta.env.ENV_BASE_URL; const subDirectory = import.meta.env.ENV_BASE_URL;
const BSNavBarUserInfo = ({ const BSNavBarUserInfo = ({

View File

@ -66,7 +66,7 @@ import BSExpireProductsList from '../../Components/UtillComponents/BSExpireProdu
import ComboSalesBillTable from '../../Components/BSBillingTables/ComboSalesBillTable/ComboSalesBillTable.jsx'; import ComboSalesBillTable from '../../Components/BSBillingTables/ComboSalesBillTable/ComboSalesBillTable.jsx';
import { GiBasket } from 'react-icons/gi'; import { GiBasket } from 'react-icons/gi';
import { FaRegKeyboard } from 'react-icons/fa'; import { FaRegKeyboard } from 'react-icons/fa';
import { CgSearchLoading } from "react-icons/cg"; import { CgSearchLoading } from 'react-icons/cg';
import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx'; import { DefaultModal } from '../../../../Components/Modal/DefaultModal.jsx';
import MultipleSearch from '../../Components/UtillComponents/MultipleSearch.jsx'; import MultipleSearch from '../../Components/UtillComponents/MultipleSearch.jsx';
import VerfiedProducts from '../../Components/BSNavbar/verfiedProduct/VerfiedProducts.jsx'; import VerfiedProducts from '../../Components/BSNavbar/verfiedProduct/VerfiedProducts.jsx';
@ -138,6 +138,26 @@ export default function BSCombo1() {
const [ListOfInvoices, setListOfInvoices] = useState(false); const [ListOfInvoices, setListOfInvoices] = useState(false);
const [ComboDropDown, setComboDropDown] = useState(); const [ComboDropDown, setComboDropDown] = useState();
const [isAltPressed, setIsAltPressed] = useState(false);
useEffect(() => {
const handleKeyDown = (e) => {
if (e.key === 'F2') setIsAltPressed(true);
};
const handleKeyUp = (e) => {
if (e.key === 'F2') setIsAltPressed(false);
};
window.addEventListener('keydown', handleKeyDown);
window.addEventListener('keyup', handleKeyUp);
return () => {
window.removeEventListener('keydown', handleKeyDown);
window.removeEventListener('keyup', handleKeyUp);
};
}, []);
useEffect(() => { useEffect(() => {
fetchAmount(); fetchAmount();
if ( if (
@ -149,7 +169,6 @@ export default function BSCombo1() {
} }
}, [SessionData]); }, [SessionData]);
useEffect(() => { useEffect(() => {
Combodata(); Combodata();
if (AppId && CompId && BranchId && UserId) { if (AppId && CompId && BranchId && UserId) {
@ -185,7 +204,6 @@ export default function BSCombo1() {
await dispatch(getSalesDetailData(data)).unwrap(); await dispatch(getSalesDetailData(data)).unwrap();
}; };
const openModalKiosk = () => { const openModalKiosk = () => {
setKioskopen(true); setKioskopen(true);
}; };
@ -284,8 +302,10 @@ export default function BSCombo1() {
/> />
{UserType != 'Super Admin' && {UserType != 'Super Admin' &&
UserType != 'Super Admin User' && UserType != 'Super Admin User' &&
(AppExpDate?.RemainingDays <= 7 || AppExpDate === 'undefined' || AppExpDate?.PlanType?.toLowerCase() === 'extend') && ( (AppExpDate?.RemainingDays <= 7 ||
<PlanExpireNotification /> AppExpDate === 'undefined' ||
AppExpDate?.PlanType?.toLowerCase() === 'extend') && (
<PlanExpireNotification />
)} )}
{/* Combo Container */} {/* Combo Container */}
@ -295,25 +315,38 @@ export default function BSCombo1() {
<div className="comboNavbarSubMain"> <div className="comboNavbarSubMain">
{/* Multiple search */} {/* Multiple search */}
<Tooltip title={'Multiple Search'}> <Tooltip title={'Multiple Search'}>
<div className='MultiSearchIconDiv'> <div className="MultiSearchIconDiv">
<CgSearchLoading onClick={() => setMultiple(true)} /> <CgSearchLoading onClick={() => setMultiple(true)} />
</div> </div>
</Tooltip> </Tooltip>
{Comboglobal === false && ( {Comboglobal === false && (
<BSC1Search <Tooltip
data={BSComboData?.BookingLayout[0]} placement="bottom"
OrderType={OrderType} trigger={[]}
/> title="SHIFT + S"
open={isAltPressed}
>
<BSC1Search
data={BSComboData?.BookingLayout[0]}
OrderType={OrderType}
/>
</Tooltip>
)} )}
{Comboglobal === true && ( {Comboglobal === true && (
<div style={{ padding: '4px' }} className="CombomainSearch"> <Tooltip
<div className="M"> placement="bottom"
<div className="BSC1Search-div1"> trigger={[]}
<BSNavBarComboSearch SessionData={SessionData} /> title="SHIFT + S"
open={isAltPressed}
>
<div style={{ padding: '4px' }} className="CombomainSearch">
<div className="M">
<div className="BSC1Search-div1">
<BSNavBarComboSearch SessionData={SessionData} />
</div>
</div> </div>
</div> </div>
</div> </Tooltip>
)} )}
{/* <div className="Layout-bill-container" style={{ margin: '0' }}> */} {/* <div className="Layout-bill-container" style={{ margin: '0' }}> */}
@ -434,7 +467,10 @@ export default function BSCombo1() {
)} )}
{/* Verify Products */} {/* Verify Products */}
{VerifyTheProducts && ( {VerifyTheProducts && (
<TooltipWrapper title={'Verfied Products'} isMobile={isMobile}> <TooltipWrapper
title={'Verfied Products'}
isMobile={isMobile}
>
<div> <div>
<VerfiedProducts /> <VerfiedProducts />
</div> </div>
@ -562,9 +598,7 @@ export default function BSCombo1() {
destroyOnClose={true} destroyOnClose={true}
children={ children={
<> <>
<MultipleSearch <MultipleSearch close={setMultiple} />
close={setMultiple}
/>
</> </>
} }
/> />

View File

@ -11,7 +11,7 @@
border-radius: 6px; border-radius: 6px;
cursor: pointer; cursor: pointer;
font-weight: 700; font-weight: 700;
font-family: 'Poppins' !important; font-family: "Poppins" !important;
align-items: center; align-items: center;
gap: 5px; gap: 5px;
height: 30px; height: 30px;
@ -31,7 +31,7 @@
color: #000000; color: #000000;
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
font-family: 'Poppins'; font-family: "Poppins";
} }
.Retail-PaymentCloseButtondiv { .Retail-PaymentCloseButtondiv {
display: flex; display: flex;
@ -40,5 +40,38 @@
.Retail-PaymentClose-Title { .Retail-PaymentClose-Title {
font-size: 16px; font-size: 16px;
font-weight: 600; font-weight: 600;
font-family: 'Gilroy' !important; font-family: "Gilroy" !important;
}
.PaymentCloseButtondiv {
display: flex;
justify-content: flex-end;
}
.PaymentCloseButton {
font-size: 12px;
border: none;
padding: 2px 5px;
border-radius: 6px;
cursor: pointer;
font-weight: 400;
font-family: "Poppins" !important;
align-items: center;
gap: 5px;
height: 30px;
background-color: #f62121;
color: #fff;
width: 150px;
}
.PaymentClosingOverAll-sub {
color: #000000;
font-size: 14px;
font-weight: 500;
font-family: "Poppins";
width: 250px;
div {
display: flex;
align-items: center;
justify-content: space-between;
}
} }

View File

@ -86,13 +86,12 @@ const SalesCountComponent = React.memo(
type?.PreferredStatus === 'Y' type?.PreferredStatus === 'Y'
); );
const preferenceshortcutkey = preferencedata?.[0]?.[ const preferenceshortcutkey = preferencedata?.[0]?.[
'SettingDtlDetails' 'SettingDtlDetails'
]?.some( ]?.some(
(item) => (item) =>
item.SettingIdName.toLowerCase() === 'shortcutkeys' && item.SettingIdName.toLowerCase() === 'shortcutkeys' &&
item.SettingValue === 'Y' item.SettingValue === 'Y'
); );
const [messageType, setMessageType] = useState(null); const [messageType, setMessageType] = useState(null);
const [messageData, setMessageData] = useState(null); const [messageData, setMessageData] = useState(null);
@ -122,6 +121,26 @@ const SalesCountComponent = React.memo(
const startIndex = (currentPage - 1) * rowsPerPage; const startIndex = (currentPage - 1) * rowsPerPage;
const currentData = bookings?.slice(startIndex, startIndex + rowsPerPage); const currentData = bookings?.slice(startIndex, startIndex + rowsPerPage);
const [isAltPressed, setIsAltPressed] = useState(false);
useEffect(() => {
const handleKeyDown = (e) => {
if (e.key === 'F2') setIsAltPressed(true);
};
const handleKeyUp = (e) => {
if (e.key === 'F2') setIsAltPressed(false);
};
window.addEventListener('keydown', handleKeyDown);
window.addEventListener('keyup', handleKeyUp);
return () => {
window.removeEventListener('keydown', handleKeyDown);
window.removeEventListener('keyup', handleKeyUp);
};
}, []);
console.log(dailySalesData, 'dailySalesDatadailySalesData', bookings); console.log(dailySalesData, 'dailySalesDatadailySalesData', bookings);
function safeRound(amountStr) { function safeRound(amountStr) {
@ -238,7 +257,7 @@ const SalesCountComponent = React.memo(
}) })
); );
} else { } else {
setTableData([]); setTableData([]);
console.warn('API returned unsuccessful status', response); console.warn('API returned unsuccessful status', response);
} }
} catch (error) { } catch (error) {
@ -270,9 +289,7 @@ const SalesCountComponent = React.memo(
key: 'RequestId', key: 'RequestId',
align: 'center', align: 'center',
width: '70px', width: '70px',
render: (text, record, index) => ( render: (text, record, index) => record?.RequestId?.split('-')?.pop(),
record?.RequestId?.split('-')?.pop()
),
}, },
{ {
title: 'Date & Time', title: 'Date & Time',
@ -362,13 +379,14 @@ const SalesCountComponent = React.memo(
className="sr-stock-recieve-button" className="sr-stock-recieve-button"
title="Receive Stock" title="Receive Stock"
onClick={() => handleModalOpen(index)} onClick={() => handleModalOpen(index)}
> <span>Receive</span> >
{' '}
<span>Receive</span>
<GoPackageDependencies size={18} /> <GoPackageDependencies size={18} />
</div> </div>
</div> </div>
), ),
} },
]; ];
const handlePageChange = (current) => { const handlePageChange = (current) => {
setpage(current); setpage(current);
@ -1079,26 +1097,34 @@ const SalesCountComponent = React.memo(
</table> </table>
</div> </div>
</DefaultModal> </DefaultModal>
<Tooltip title="Receive Stock"> <Tooltip title="Receive Stock">
{TableData?.length > 0 && AutoReceiveStock && ( {TableData?.length > 0 && AutoReceiveStock && (
<button <button
className="blink blinkStock" className="blink blinkStock"
onClick={() => setIsReceivedModelOpen(true)} onClick={() => setIsReceivedModelOpen(true)}
title="Received Stock" title="Received Stock"
> >
<MdOutlineCallReceived /> <MdOutlineCallReceived />
Stock Stock
</button> </button>
)} )}
</Tooltip> </Tooltip>
</div> </div>
{/* {preferenceshortcutkey && <ShortcutKeyHelper />} */} {/* {preferenceshortcutkey && <ShortcutKeyHelper />} */}
{preferenceshortcutkey && ( {preferenceshortcutkey && (
<div className="keyboardShortcut"> <div className="keyboardShortcut">
<ShortcutKeyHelper /> <ShortcutKeyHelper />
</div>)} </div>
)}
<AllSalesPageSettings /> <AllSalesPageSettings />
<ProductPriceChange /> <Tooltip
placement="bottom"
trigger={[]}
title="CTRL + E"
open={isAltPressed}
>
<ProductPriceChange />
</Tooltip>
<ReceivedStocksModal <ReceivedStocksModal
open={isReceivedModelOpen} open={isReceivedModelOpen}
onClose={() => { onClose={() => {
@ -1107,7 +1133,7 @@ const SalesCountComponent = React.memo(
columns={columns} columns={columns}
tableData={TableData} tableData={TableData}
handlePageChange={handlePageChange} handlePageChange={handlePageChange}
customTable={false} customTable={false}
/> />
<ProductDetailsModal <ProductDetailsModal

View File

@ -42,3 +42,5 @@
font-weight: 600; font-weight: 600;
font-family: 'Gilroy' !important; font-family: 'Gilroy' !important;
} }

View File

@ -1,15 +1,15 @@
.stock-adjustment-container { .stock-adjustment-container {
padding: 20px; // padding: 20px;
// background-color: #fafafa;; // background-color: #fafafa;;
border-radius: 10px; border-radius: 10px;
font-family: 'Poppins', sans-serif; font-family: "Poppins", sans-serif;
color: #1f2d3d; color: #1f2d3d;
width: 100%; width: 100%;
height: 90%; height: 90%;
position: relative; position: relative;
} }
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap'); @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");
.stock-adjustment-top-bar { .stock-adjustment-top-bar {
display: flex; display: flex;
@ -216,9 +216,9 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-end; justify-content: flex-end;
position: absolute; position: fixed;
right: 0; right: 1rem;
bottom: 0; bottom: 1rem;
@media (max-width: 720px) { @media (max-width: 720px) {
position: unset; position: unset;
@ -232,7 +232,7 @@
.stock-adjustment-table-row { .stock-adjustment-table-row {
grid-template-columns: 1fr 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr 1fr;
grid-auto-rows: minmax(44px, auto); grid-auto-rows: minmax(44px, auto);
grid-template-areas: 'sno product' 'current actual'; grid-template-areas: "sno product" "current actual";
} }
.stock-adjustment-table-cell.stock-adjustment-sno { .stock-adjustment-table-cell.stock-adjustment-sno {
@ -252,13 +252,11 @@
} }
} }
.custom-table { .custom-table {
width: 100%; width: 100%;
border-collapse: collapse; border-collapse: collapse;
border: 1px solid #909090; border: 1px solid #909090;
font-family: 'Poppins', sans-serif; font-family: "Poppins", sans-serif;
> thead { > thead {
position: sticky; position: sticky;
@ -298,7 +296,6 @@
font-size: 12px !important; font-size: 12px !important;
} }
.custom-table tbody tr td { .custom-table tbody tr td {
text-align: left; text-align: left;
@ -307,7 +304,7 @@
} }
} }
.custom-table tbody tr td[colspan='7'] { .custom-table tbody tr td[colspan="7"] {
padding: 20px; padding: 20px;
} }
@ -351,8 +348,6 @@
} }
} }
.custom-table { .custom-table {
Button:disabled, Button:disabled,
Button[disabled] { Button[disabled] {
@ -362,20 +357,18 @@
} }
} }
.openingStock-ignoreProductBTN { .openingStock-ignoreProductBTN {
width: max-content; width: max-content;
white-space: nowrap; white-space: nowrap;
height: max-content; height: max-content;
padding: 10px 16px; padding: 10px 16px;
color: #fff; color: #fff;
border-radius: 8px; border-radius: 8px;
cursor: pointer; cursor: pointer;
border: none; border: none;
background-color: #e42006; background-color: #e42006;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
font-family: "Poppins"; font-family: "Poppins";
margin-left: 6px; margin-left: 6px;
} }

View File

@ -999,6 +999,10 @@
.Tbl3-Variant { .Tbl3-Variant {
font-size: 10px; font-size: 10px;
} }
.Tbl3VariantActve{
color: #000;
font-size: 11px;
}
.css-w9q2zk-Input2 { .css-w9q2zk-Input2 {
color: black !important; color: black !important;

View File

@ -505,3 +505,39 @@
display: flex; display: flex;
} }
} }
.salesUserProfile {
display: flex;
align-items: center;
gap: 6px;
flex-direction: column;
padding: 10px 1rem;
font-family: "Poppins";
> div {
width: 100%;
font-size: 14px;
display: flex;
align-items: center;
gap: 10px;
}
.BSNavBar1-Acc-menu-list {
padding: 6px 10px;
background-color: #ee0000;
color: #fff;
border-radius: 6px;
cursor: pointer;
display: flex;
align-items: center;
gap: 1rem;
}
img {
width: 70px;
height: 70px;
border-radius: 1000px;
border: 1px solid #a1a1a1;
background-position: center;
}
}

View File

@ -6,9 +6,7 @@
width: 100%; width: 100%;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
/* padding: 0.5rem 22px 0 1.5rem; */
gap: 0.5rem; gap: 0.5rem;
/* padding-bottom: 8px; */
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 4px 8px; padding: 4px 8px;
@ -49,9 +47,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.BSC1Search-div1 .BSC1Search-div1 .ant-select:not(.ant-select-customize-input) .ant-select-selector {
.ant-select:not(.ant-select-customize-input)
.ant-select-selector {
border: none; border: none;
height: 35px; height: 35px;
} }
@ -75,17 +71,11 @@
background-color: var(--ERROR_COLOR); background-color: var(--ERROR_COLOR);
border: none; border: none;
font-size: 15px; font-size: 15px;
font-family: 'Poppins', sans-serif; font-family: "Poppins", sans-serif;
font-weight: 600; font-weight: 600;
color: #fff; color: #fff;
cursor: pointer; cursor: pointer;
} }
// .BSC1Search-button1:hover{
// opacity: 0.5;
// }
// .BSC1Search-button1:focus{
// background-color: var(--DEFAULT_SELECTED_COLOR);
// }
.BSC1Search-button2 { .BSC1Search-button2 {
width: 100px; width: 100px;
height: 57px; height: 57px;
@ -93,7 +83,7 @@
background-color: #dddddd; background-color: #dddddd;
border: none; border: none;
font-size: 15px; font-size: 15px;
font-family: 'Poppins', sans-serif; font-family: "Poppins", sans-serif;
font-weight: 600; font-weight: 600;
cursor: pointer; cursor: pointer;
opacity: 1; opacity: 1;
@ -146,3 +136,9 @@
padding: 0.3rem; padding: 0.3rem;
} }
} }
.StockVariantModal {
height: 40vh;
overflow: auto;
scrollbar-width: thin;
}

View File

@ -485,9 +485,15 @@
width: 32px; width: 32px;
height: 32px; height: 32px;
margin-right: unset !important; margin-right: unset !important;
outline: none !important;
border: none;
border-radius: 4px;
padding: 2px;
cursor: pointer;
img { img {
filter: invert(1); filter: invert(1);
width: 25px !important;
height: 25px !important;
} }
} }
@ -638,6 +644,10 @@
svg { svg {
color: #fff !important; color: #fff !important;
} }
img {
width: 20px !important;
height: 20px !important;
}
} }
.RiVerifiedBadgeFill { .RiVerifiedBadgeFill {
@ -690,3 +700,24 @@
font-size: 10px !important; font-size: 10px !important;
} }
} }
.MultiSearchIconDiv3 {
background-color: #ffffff;
color: #1292ee !important;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
width: 32px !important;
height: 32px;
padding: 4px;
svg {
font-size: 22px;
width: 32px !important;
height: 32px;
display: flex;
}
}

View File

@ -105,7 +105,8 @@
width: 100%; width: 100%;
text-align: end; text-align: end;
font-size: 16px; font-size: 16px;
font-weight: 700; font-weight: 500;
font-family: "Poppins";
padding: 0.5rem 0; padding: 0.5rem 0;
} }
.Denomination-ul { .Denomination-ul {