issue solved
This commit is contained in:
parent
066990e8aa
commit
886015cac4
|
|
@ -42,7 +42,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition:
|
transition:
|
||||||
background 0.2s,
|
background 0.2s,
|
||||||
color 0.2s;
|
color 0.2s ease-in-out;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin: 1px 3px;
|
margin: 1px 3px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
|
|
@ -54,6 +54,10 @@
|
||||||
|
|
||||||
&:hover:not(.selected):not(.active-path) {
|
&:hover:not(.selected):not(.active-path) {
|
||||||
background: #394588;
|
background: #394588;
|
||||||
|
.pozo-menu-label,
|
||||||
|
.pozo-menu-icon {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.selected {
|
&.selected {
|
||||||
|
|
@ -80,9 +84,14 @@
|
||||||
&.open {
|
&.open {
|
||||||
background: #050d36 !important;
|
background: #050d36 !important;
|
||||||
color: #23bbff;
|
color: #23bbff;
|
||||||
border-right: 2px solid #23bbff;
|
// border-right: 2px solid #23bbff;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
width: 95%;
|
width: 95%;
|
||||||
|
.pozo-menu-label,
|
||||||
|
.pozo-menu-icon {
|
||||||
|
color: #fff;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.active-path {
|
&.active-path {
|
||||||
|
|
@ -90,13 +99,15 @@
|
||||||
color: #ffffff !important;
|
color: #ffffff !important;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
border-right: 2px solid #23bbff;
|
||||||
|
|
||||||
.pozo-menu-icon {
|
.pozo-menu-icon {
|
||||||
color: #23bbff !important;
|
color: #ffffff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pozo-menu-label {
|
.pozo-menu-label {
|
||||||
color: #ffffff !important;
|
color: #ffffff !important;
|
||||||
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pozo-menu-arrow {
|
.pozo-menu-arrow {
|
||||||
|
|
@ -141,6 +152,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
color: #ffffffb4;
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
font-size: 1rem !important;
|
font-size: 1rem !important;
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
|
|
@ -149,9 +161,9 @@
|
||||||
|
|
||||||
.pozo-menu-label {
|
.pozo-menu-label {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
color: #ffffff;
|
color: #ffffffb4;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: 500;
|
font-weight: 400;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
font-family: "Poppins", sans-serif !important;
|
font-family: "Poppins", sans-serif !important;
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,8 @@ const AdminTaxForm = () => {
|
||||||
setpage(current);
|
setpage(current);
|
||||||
};
|
};
|
||||||
|
|
||||||
const columns = useMemo(() => [
|
const columns = useMemo(
|
||||||
|
() => [
|
||||||
{
|
{
|
||||||
title: 'Sl.NO',
|
title: 'Sl.NO',
|
||||||
key: 'sno',
|
key: 'sno',
|
||||||
|
|
@ -213,7 +214,8 @@ const AdminTaxForm = () => {
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
sorter: (a, b) => a?.TaxIdName?.localeCompare(b?.TaxIdName),
|
sorter: (a, b) => a?.TaxIdName?.localeCompare(b?.TaxIdName),
|
||||||
sortOrder: sortedInfo.columnKey === 'TaxIdName' ? sortedInfo.order : null,
|
sortOrder:
|
||||||
|
sortedInfo.columnKey === 'TaxIdName' ? sortedInfo.order : null,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -223,8 +225,10 @@ const AdminTaxForm = () => {
|
||||||
width: '100px',
|
width: '100px',
|
||||||
align: 'right',
|
align: 'right',
|
||||||
render: (text) => <a style={{ color: 'black' }}>{text}</a>,
|
render: (text) => <a style={{ color: 'black' }}>{text}</a>,
|
||||||
sorter: (a, b) => parseFloat(a.TaxPercentage) - parseFloat(b.TaxPercentage),
|
sorter: (a, b) =>
|
||||||
sortOrder: sortedInfo.columnKey === 'TaxPercentage' ? sortedInfo.order : null,
|
parseFloat(a.TaxPercentage) - parseFloat(b.TaxPercentage),
|
||||||
|
sortOrder:
|
||||||
|
sortedInfo.columnKey === 'TaxPercentage' ? sortedInfo.order : null,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -238,7 +242,8 @@ const AdminTaxForm = () => {
|
||||||
<a style={{ color: 'black' }}>{ExtractDateFormate(text)}</a>
|
<a style={{ color: 'black' }}>{ExtractDateFormate(text)}</a>
|
||||||
),
|
),
|
||||||
sorter: (a, b) => new Date(a.EffectiveFrom) - new Date(b.EffectiveFrom),
|
sorter: (a, b) => new Date(a.EffectiveFrom) - new Date(b.EffectiveFrom),
|
||||||
sortOrder: sortedInfo.columnKey === 'EffectiveFrom' ? sortedInfo.order : null,
|
sortOrder:
|
||||||
|
sortedInfo.columnKey === 'EffectiveFrom' ? sortedInfo.order : null,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -249,10 +254,13 @@ const AdminTaxForm = () => {
|
||||||
align: 'right',
|
align: 'right',
|
||||||
render: (text) => <a style={{ color: 'black' }}>{text}</a>,
|
render: (text) => <a style={{ color: 'black' }}>{text}</a>,
|
||||||
sorter: (a, b) => a?.Reference?.localeCompare(b?.Reference),
|
sorter: (a, b) => a?.Reference?.localeCompare(b?.Reference),
|
||||||
sortOrder: sortedInfo.columnKey === 'Reference' ? sortedInfo.order : null,
|
sortOrder:
|
||||||
|
sortedInfo.columnKey === 'Reference' ? sortedInfo.order : null,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
], [searchedText, sortedInfo, page]);
|
],
|
||||||
|
[searchedText, sortedInfo, page]
|
||||||
|
);
|
||||||
|
|
||||||
const onComplete = useCallback(() => {
|
const onComplete = useCallback(() => {
|
||||||
setMessageData(null);
|
setMessageData(null);
|
||||||
|
|
@ -272,7 +280,7 @@ const AdminTaxForm = () => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<div className="userPageTable">
|
<div className="userPageTable adminTaxMaster">
|
||||||
<div className="userPageContent">
|
<div className="userPageContent">
|
||||||
<Messages
|
<Messages
|
||||||
messageType={messageType}
|
messageType={messageType}
|
||||||
|
|
@ -282,8 +290,7 @@ const AdminTaxForm = () => {
|
||||||
<div className="formAddNew">
|
<div className="formAddNew">
|
||||||
<div>
|
<div>
|
||||||
<FormHeader title={'Tax'} />
|
<FormHeader title={'Tax'} />
|
||||||
<div className="searchAddDiv">
|
<div className="searchAddDiv"></div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="searchAddDiv">
|
<div className="searchAddDiv">
|
||||||
<div className="formSearch">
|
<div className="formSearch">
|
||||||
|
|
@ -322,7 +329,7 @@ const AdminTaxForm = () => {
|
||||||
<div className="formDiv ">
|
<div className="formDiv ">
|
||||||
<Form className="formDivAnt" ref={formRef} onFinish={onFinish}>
|
<Form className="formDivAnt" ref={formRef} onFinish={onFinish}>
|
||||||
<div className="formDivS ">
|
<div className="formDivS ">
|
||||||
<div className="inputForm">
|
<div className="inputForm addTaxinputDrawer">
|
||||||
<Form.Item
|
<Form.Item
|
||||||
name="TaxName"
|
name="TaxName"
|
||||||
rules={[
|
rules={[
|
||||||
|
|
@ -381,6 +388,14 @@ const AdminTaxForm = () => {
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
display: 'flex',
|
||||||
|
flexDirection: 'column',
|
||||||
|
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<label style={{color:"#5a5a5a", fontSize:"12px", fontFamily:"Arial",padding:"0 6px"}} htmlFor="Effective From">Effective From</label>
|
||||||
<DatePic
|
<DatePic
|
||||||
field="Effective From"
|
field="Effective From"
|
||||||
name="Effective From"
|
name="Effective From"
|
||||||
|
|
@ -412,6 +427,7 @@ const AdminTaxForm = () => {
|
||||||
</span>
|
</span>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
<Form.Item
|
<Form.Item
|
||||||
|
|
@ -423,7 +439,8 @@ const AdminTaxForm = () => {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
max: 20,
|
max: 20,
|
||||||
message: 'Reference cannot be more than 20 characters',
|
message:
|
||||||
|
'Reference cannot be more than 20 characters',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validator: async (_, value) => {
|
validator: async (_, value) => {
|
||||||
|
|
|
||||||
|
|
@ -718,6 +718,16 @@ const BSNavbar3 = ({ optionNames }) => {
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</TooltipWrapper>
|
</TooltipWrapper>
|
||||||
|
|
||||||
|
{verifyproduct && (
|
||||||
|
<div style={{ color: 'green' }}>
|
||||||
|
<TooltipWrapper title={'Verfied Products'} isMobile={isMobile}>
|
||||||
|
<div>
|
||||||
|
<VerfiedProducts />
|
||||||
|
</div>
|
||||||
|
</TooltipWrapper>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
{isMobile && (
|
{isMobile && (
|
||||||
<div
|
<div
|
||||||
|
|
@ -728,15 +738,7 @@ const BSNavbar3 = ({ optionNames }) => {
|
||||||
<BSMobilePrintSettings />
|
<BSMobilePrintSettings />
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{verifyproduct && (
|
|
||||||
<div style={{ color: 'green' }}>
|
|
||||||
<TooltipWrapper title={'Verfied Products'} isMobile={isMobile}>
|
|
||||||
<div>
|
|
||||||
<VerfiedProducts />
|
|
||||||
</div>
|
|
||||||
</TooltipWrapper>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
<div className="userDates">
|
<div className="userDates">
|
||||||
<div className="datesNewtimedate">
|
<div className="datesNewtimedate">
|
||||||
<CurrentDateDisplay />
|
<CurrentDateDisplay />
|
||||||
|
|
|
||||||
|
|
@ -195,10 +195,11 @@ const VerfiedProducts = () => {
|
||||||
<>
|
<>
|
||||||
<div>
|
<div>
|
||||||
<RiVerifiedBadgeFill
|
<RiVerifiedBadgeFill
|
||||||
style={{ cursor: 'pointer' }}
|
style={{ cursor: 'pointer', marginTop: '2px', display: 'flex' }}
|
||||||
onClick={() => setisOpenModal((p) => !p)}
|
onClick={() => setisOpenModal((p) => !p)}
|
||||||
size={25}
|
size={22}
|
||||||
color="#fff"
|
color="#fff"
|
||||||
|
className="RiVerifiedBadgeFill"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,14 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
.billing-table-header:nth-child(5){
|
||||||
|
text-align: right !important;
|
||||||
|
}
|
||||||
|
.Table3-item-price,
|
||||||
|
.Table-3_qty,
|
||||||
|
.Table3-items {
|
||||||
|
padding: 10px 6px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Shopping Cart Header
|
// Shopping Cart Header
|
||||||
|
|
@ -139,7 +147,7 @@
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: #059669;
|
color: #059669;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-family: 'Inter', sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.delete-action {
|
.delete-action {
|
||||||
|
|
@ -162,7 +170,6 @@
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
transition: background-color 0.2s;
|
transition: background-color 0.2s;
|
||||||
|
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
color: #ef4444;
|
color: #ef4444;
|
||||||
font-size: 1.125rem;
|
font-size: 1.125rem;
|
||||||
|
|
@ -194,7 +201,6 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
|
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
color: #6b7280;
|
color: #6b7280;
|
||||||
|
|
@ -216,7 +222,6 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
|
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
font-size: 1.125rem;
|
font-size: 1.125rem;
|
||||||
}
|
}
|
||||||
|
|
@ -259,13 +264,11 @@
|
||||||
&.card-button {
|
&.card-button {
|
||||||
background: #8b5cf6;
|
background: #8b5cf6;
|
||||||
color: white;
|
color: white;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.upi-button {
|
&.upi-button {
|
||||||
background: #0ea5e9;
|
background: #0ea5e9;
|
||||||
color: white;
|
color: white;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -290,7 +293,7 @@
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
font-family: 'Inter', sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
|
|
@ -299,7 +302,6 @@
|
||||||
|
|
||||||
// Responsive Design
|
// Responsive Design
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
|
|
||||||
.standatdTableBill3 {
|
.standatdTableBill3 {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -356,9 +356,11 @@ const SalesCountForStandard = ({
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
onClick={() =>OverAllOrderCount || 0 >0 && setIsModalOpen(true)}
|
onClick={() =>
|
||||||
|
OverAllOrderCount || (0 > 0 && setIsModalOpen(true))
|
||||||
|
}
|
||||||
>
|
>
|
||||||
<FaChartLine color="#fde047" />
|
<FaChartLine color="#ffffffff" />
|
||||||
<div className="NetAmountNew">
|
<div className="NetAmountNew">
|
||||||
{isMobile ? 'Count' : 'Sales Count'} : {OverAllOrderCount}
|
{isMobile ? 'Count' : 'Sales Count'} : {OverAllOrderCount}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -372,9 +374,11 @@ const SalesCountForStandard = ({
|
||||||
fontSize: '0.9rem',
|
fontSize: '0.9rem',
|
||||||
cursor: 'pointer',
|
cursor: 'pointer',
|
||||||
}}
|
}}
|
||||||
onClick={() => OverAllOrderCount || 0 >0 && setIsModalOpen(true)}
|
onClick={() =>
|
||||||
|
OverAllOrderCount || (0 > 0 && setIsModalOpen(true))
|
||||||
|
}
|
||||||
>
|
>
|
||||||
<FaChartLine color="#fde047" />
|
<FaChartLine color="#ffffffff" />
|
||||||
<div className="NetAmountNew">
|
<div className="NetAmountNew">
|
||||||
{isMobile ? 'Count' : 'Sales Count'} : {OverAllOrderCount}
|
{isMobile ? 'Count' : 'Sales Count'} : {OverAllOrderCount}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -472,7 +476,7 @@ const SalesCountForStandard = ({
|
||||||
onClick={() => netAmount > 0 && setIsNetAmtModalOpen(true)}
|
onClick={() => netAmount > 0 && setIsNetAmtModalOpen(true)}
|
||||||
style={{ cursor: 'pointer' }}
|
style={{ cursor: 'pointer' }}
|
||||||
>
|
>
|
||||||
<FaRupeeSign color="#fde047" />
|
<FaRupeeSign color="#ffffffff" />
|
||||||
<div className="NetAmountNew">
|
<div className="NetAmountNew">
|
||||||
{isMobile ? 'NA' : 'Net Amount'} : ₹ {safeRound(netAmount)}
|
{isMobile ? 'NA' : 'Net Amount'} : ₹ {safeRound(netAmount)}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -532,8 +536,6 @@ const SalesCountForStandard = ({
|
||||||
cursor: 'pointer',
|
cursor: 'pointer',
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/* <button className="BookingCloseButton"
|
|
||||||
onClick={OpenBookingModal}>Booking Close</button> */}
|
|
||||||
</TooltipWrapper>
|
</TooltipWrapper>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
|
|
|
||||||
|
|
@ -699,7 +699,7 @@ const EmpAccessForm = ({ formType }) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</Form>
|
</Form>
|
||||||
<div className="reportTable">
|
<div className="reportTable empAccessreportTable">
|
||||||
<Tables
|
<Tables
|
||||||
columns={columns}
|
columns={columns}
|
||||||
data={SelectedUserData ? TableData : []}
|
data={SelectedUserData ? TableData : []}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,12 @@
|
||||||
.other-services-container {
|
.other-services-container {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 24px;
|
// padding: 24px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
max-width: 1100px;
|
max-width: 1100px;
|
||||||
// margin: 24px auto 0 auto;
|
// margin: 24px auto 0 auto;
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// .other-service-row {
|
// .other-service-row {
|
||||||
|
|
@ -23,7 +21,8 @@
|
||||||
/* gap: 24px; */
|
/* gap: 24px; */
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;}
|
justify-content: center;
|
||||||
|
}
|
||||||
// .other-service-group {
|
// .other-service-group {
|
||||||
// flex: 1 1 300px;
|
// flex: 1 1 300px;
|
||||||
// min-width: 250px;
|
// min-width: 250px;
|
||||||
|
|
@ -33,13 +32,15 @@
|
||||||
// }
|
// }
|
||||||
|
|
||||||
.other-service-group {
|
.other-service-group {
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
column-gap: 20px;
|
column-gap: 20px;
|
||||||
|
.ant-form-item{
|
||||||
|
margin-bottom: 10px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.other-service-checkbox-group {
|
.other-service-checkbox-group {
|
||||||
min-width: 180px;
|
min-width: 180px;
|
||||||
|
|
@ -58,6 +59,7 @@
|
||||||
.other-service-row {
|
.other-service-row {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0;
|
gap: 0;
|
||||||
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
.other-service-group {
|
.other-service-group {
|
||||||
min-width: 100%;
|
min-width: 100%;
|
||||||
|
|
|
||||||
|
|
@ -68,9 +68,8 @@ const PublicQrCode = () => {
|
||||||
|
|
||||||
const [branchData, setBranchData] = useState([]);
|
const [branchData, setBranchData] = useState([]);
|
||||||
const [page, setPage] = useState(1);
|
const [page, setPage] = useState(1);
|
||||||
const [isPreviewModalOpen, setIsPreviewModalOpen] = useState(false);
|
|
||||||
const [pdfPreviewUrl, setPdfPreviewUrl] = useState('');
|
|
||||||
const qrCodeRef = useRef(null);
|
const qrCodeRef = useRef(null);
|
||||||
|
const printContentRef = useRef(null);
|
||||||
const CompId = getSession('CompId');
|
const CompId = getSession('CompId');
|
||||||
const BranchId = getSession('BranchId');
|
const BranchId = getSession('BranchId');
|
||||||
const AppId = getSession('AppId');
|
const AppId = getSession('AppId');
|
||||||
|
|
@ -296,7 +295,7 @@ const PublicQrCode = () => {
|
||||||
if (res?.data?.statusCode == 1) {
|
if (res?.data?.statusCode == 1) {
|
||||||
const QrUrl = `${subDirectory}selfBooking/${res?.data?.ReferenceNo}`;
|
const QrUrl = `${subDirectory}selfBooking/${res?.data?.ReferenceNo}`;
|
||||||
setQrCodeUrl(QrUrl);
|
setQrCodeUrl(QrUrl);
|
||||||
generatePDF(true, QrUrl);
|
setTimeout(() => window.print(), 500);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('HandleSubmit Error:', error);
|
console.error('HandleSubmit Error:', error);
|
||||||
|
|
@ -305,187 +304,7 @@ const PublicQrCode = () => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Function to generate PDF
|
|
||||||
const generatePDF = async (isPreview = false, encrypted) => {
|
|
||||||
console.log('generatePDF called with:', { isPreview, encrypted });
|
|
||||||
|
|
||||||
if (!encrypted) {
|
|
||||||
setMessageType('error');
|
|
||||||
setMessageData('Please generate QR code first');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Get booking type name and table name for display
|
|
||||||
const bookingTypeName =
|
|
||||||
filtered?.find((item) => item.ConfigId === configId)?.ConfigName ||
|
|
||||||
'Both';
|
|
||||||
const tableName =
|
|
||||||
Tabledata?.find((item) => item.TableId === TableId)?.TableName || '';
|
|
||||||
|
|
||||||
// Get branch details
|
|
||||||
const branch = branchData?.[0] || {};
|
|
||||||
const branchName = branch.BrName || branch.CompName || '';
|
|
||||||
const branchMobile = branch.BrMobile || '';
|
|
||||||
const companyLogo = branch.CompLogo || '';
|
|
||||||
const branchAddress =
|
|
||||||
[
|
|
||||||
branch.Address1,
|
|
||||||
branch.Address2,
|
|
||||||
branch.City,
|
|
||||||
branch.State,
|
|
||||||
branch.Zip,
|
|
||||||
]
|
|
||||||
.filter(Boolean)
|
|
||||||
.join(', ') || '';
|
|
||||||
|
|
||||||
// Create a temporary div for PDF content
|
|
||||||
const tempDiv = document.createElement('div');
|
|
||||||
tempDiv.style.padding = '40px';
|
|
||||||
tempDiv.style.backgroundColor = 'white';
|
|
||||||
tempDiv.style.fontFamily = 'Arial, sans-serif';
|
|
||||||
tempDiv.style.textAlign = 'center';
|
|
||||||
tempDiv.style.width = '600px';
|
|
||||||
tempDiv.style.margin = '0 auto';
|
|
||||||
|
|
||||||
// Add content to the temporary div
|
|
||||||
tempDiv.innerHTML = `
|
|
||||||
<div style="margin-bottom: 10px; border-bottom: 2px solid #eee; padding-bottom: 10px;">
|
|
||||||
${companyLogo ? `<div style="margin-bottom: 10px;"><img id="company-logo" src="${companyLogo}" style="max-width: 120px; max-height: 80px; object-fit: contain;" crossorigin="anonymous" /></div>` : ''}
|
|
||||||
<h1 style="color: #333; margin: 10px 0; font-size: 24px; font-weight: bold;">${branchName ? branchName : ''}</h1>
|
|
||||||
<p style="color: #666; margin: 5px 0; font-size: 14px;">${branchAddress ? branchAddress : ''}</p>
|
|
||||||
<p style="color: #666; margin: 5px 0; font-size: 14px;"><strong>Mobile:</strong> ${branchMobile ? branchMobile : ''}</p>
|
|
||||||
</div>
|
|
||||||
<div style="margin-bottom: 30px;">
|
|
||||||
<h2 style="color: #666; margin-bottom: 20px; font-size: 20px;">Self Booking QR Code</h2>
|
|
||||||
</div>
|
|
||||||
<div style="margin-bottom: 30px;">
|
|
||||||
<div style="display: inline-block; padding: 20px; background: white; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">
|
|
||||||
<div id="qr-code-container"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="margin-top: 20px;">
|
|
||||||
<p style="font-size: 12px; color: #666; word-break: break-all;">URL: ${encrypted}</p>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
// Add the temporary div to the document
|
|
||||||
document.body.appendChild(tempDiv);
|
|
||||||
|
|
||||||
// Create QR code in the container
|
|
||||||
const qrContainer = tempDiv.querySelector('#qr-code-container');
|
|
||||||
const qrCodeSvg = document.createElementNS(
|
|
||||||
'http://www.w3.org/2000/svg',
|
|
||||||
'svg'
|
|
||||||
);
|
|
||||||
qrCodeSvg.setAttribute('width', '200');
|
|
||||||
qrCodeSvg.setAttribute('height', '200');
|
|
||||||
qrCodeSvg.setAttribute('viewBox', '0 0 256 256');
|
|
||||||
|
|
||||||
// Use the QRCode library to generate SVG content
|
|
||||||
const QRCodeLib = await import('qrcode');
|
|
||||||
const qrDataUrl = await QRCodeLib.toDataURL(encrypted, {
|
|
||||||
width: 200,
|
|
||||||
margin: 2,
|
|
||||||
});
|
|
||||||
|
|
||||||
// Create an image element for the QR code
|
|
||||||
const qrImage = document.createElement('img');
|
|
||||||
qrImage.src = qrDataUrl;
|
|
||||||
qrImage.style.width = '200px';
|
|
||||||
qrImage.style.height = '200px';
|
|
||||||
qrContainer.appendChild(qrImage);
|
|
||||||
|
|
||||||
// Wait for all images to load (QR code and company logo if present)
|
|
||||||
const imagesToLoad = [qrImage];
|
|
||||||
const companyLogoImg = tempDiv.querySelector('#company-logo');
|
|
||||||
if (companyLogoImg) {
|
|
||||||
imagesToLoad.push(companyLogoImg);
|
|
||||||
}
|
|
||||||
|
|
||||||
await Promise.all(
|
|
||||||
imagesToLoad.map(
|
|
||||||
(img) =>
|
|
||||||
new Promise((resolve) => {
|
|
||||||
if (img.complete) {
|
|
||||||
resolve();
|
|
||||||
} else {
|
|
||||||
img.onload = resolve;
|
|
||||||
img.onerror = resolve; // Continue even if logo fails to load
|
|
||||||
}
|
|
||||||
})
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Generate PDF using html2canvas and jsPDF
|
|
||||||
const canvas = await html2canvas(tempDiv, {
|
|
||||||
scale: 2,
|
|
||||||
useCORS: true,
|
|
||||||
allowTaint: true,
|
|
||||||
backgroundColor: '#ffffff',
|
|
||||||
});
|
|
||||||
|
|
||||||
const imgData = canvas.toDataURL('image/png');
|
|
||||||
const pdf = new jsPDF('p', 'mm', 'a4');
|
|
||||||
|
|
||||||
const imgWidth = 190;
|
|
||||||
const pageHeight = 295;
|
|
||||||
const imgHeight = (canvas.height * imgWidth) / canvas.width;
|
|
||||||
let heightLeft = imgHeight;
|
|
||||||
let position = 10;
|
|
||||||
|
|
||||||
pdf.addImage(imgData, 'PNG', 10, position, imgWidth, imgHeight);
|
|
||||||
heightLeft -= pageHeight;
|
|
||||||
|
|
||||||
while (heightLeft >= 0) {
|
|
||||||
position = heightLeft - imgHeight;
|
|
||||||
pdf.addPage();
|
|
||||||
pdf.addImage(imgData, 'PNG', 10, position, imgWidth, imgHeight);
|
|
||||||
heightLeft -= pageHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clean up
|
|
||||||
document.body.removeChild(tempDiv);
|
|
||||||
|
|
||||||
if (isPreview) {
|
|
||||||
// Generate blob URL for preview
|
|
||||||
console.log('Generating PDF preview...');
|
|
||||||
const pdfBlob = pdf.output('blob');
|
|
||||||
const pdfUrl = URL.createObjectURL(pdfBlob);
|
|
||||||
console.log('PDF preview URL created:', pdfUrl);
|
|
||||||
setPdfPreviewUrl(pdfUrl);
|
|
||||||
setIsPreviewModalOpen(true);
|
|
||||||
} else {
|
|
||||||
// Download the PDF
|
|
||||||
console.log('Downloading PDF...');
|
|
||||||
const branch = branchData?.[0] || {};
|
|
||||||
const branchName = (
|
|
||||||
branch.BrName ||
|
|
||||||
branch.CompName ||
|
|
||||||
'Branch'
|
|
||||||
).replace(/[^a-zA-Z0-9]/g, '_');
|
|
||||||
const fileName = `QR_Code_${branchName}_${bookingTypeName}_${tableName}_${new Date().toISOString().split('T')[0]}.pdf`;
|
|
||||||
console.log('PDF filename:', fileName);
|
|
||||||
pdf.save(fileName);
|
|
||||||
console.log('PDF download initiated');
|
|
||||||
setMessageType('success');
|
|
||||||
setMessageData('PDF downloaded successfully!');
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error generating PDF:', error);
|
|
||||||
console.error('Error details:', {
|
|
||||||
message: error.message,
|
|
||||||
stack: error.stack,
|
|
||||||
encrypted: encrypted,
|
|
||||||
configId: configId,
|
|
||||||
TableId: TableId,
|
|
||||||
});
|
|
||||||
setMessageType('error');
|
|
||||||
setMessageData(
|
|
||||||
`Error generating PDF: ${error.message}. Please try again.`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const onComplete = useCallback(() => {
|
const onComplete = useCallback(() => {
|
||||||
setMessageData(null);
|
setMessageData(null);
|
||||||
|
|
@ -571,7 +390,7 @@ const PublicQrCode = () => {
|
||||||
<FormHeader title={'QR Code Generator'} />
|
<FormHeader title={'QR Code Generator'} />
|
||||||
</div>
|
</div>
|
||||||
<div className="searchAddDiv">
|
<div className="searchAddDiv">
|
||||||
<div style={{ display: 'flex', gap: '1rem', flexWrap: 'wrap' }}>
|
<div style={{ display: 'flex', gap: '2rem', flexWrap: 'wrap' }}>
|
||||||
<DropDowns
|
<DropDowns
|
||||||
options={[
|
options={[
|
||||||
// { value: 'All', label: 'Both' }, // Add "Select" option
|
// { value: 'All', label: 'Both' }, // Add "Select" option
|
||||||
|
|
@ -673,6 +492,17 @@ const PublicQrCode = () => {
|
||||||
</div>
|
</div>
|
||||||
{qrCodeUrl && (
|
{qrCodeUrl && (
|
||||||
<>
|
<>
|
||||||
|
<div className="productMaster-input">
|
||||||
|
<Buttons
|
||||||
|
buttonText="Print"
|
||||||
|
className="tertiary_Button"
|
||||||
|
color="28a745"
|
||||||
|
handleSubmit={() => window.print()}
|
||||||
|
icon={<EyeOutlined />}
|
||||||
|
>
|
||||||
|
PRINT
|
||||||
|
</Buttons>
|
||||||
|
</div>
|
||||||
<div className="productMaster-input">
|
<div className="productMaster-input">
|
||||||
<Buttons
|
<Buttons
|
||||||
buttonText="Clear"
|
buttonText="Clear"
|
||||||
|
|
@ -684,8 +514,6 @@ const PublicQrCode = () => {
|
||||||
setTableId(null);
|
setTableId(null);
|
||||||
setWaiterId(null);
|
setWaiterId(null);
|
||||||
setTabledata([]);
|
setTabledata([]);
|
||||||
setPdfPreviewUrl('');
|
|
||||||
setIsPreviewModalOpen(false);
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
CLEAR
|
CLEAR
|
||||||
|
|
@ -696,7 +524,7 @@ const PublicQrCode = () => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="reportTable">
|
<div className="reportTable no-print">
|
||||||
{qrCodeUrl && (
|
{qrCodeUrl && (
|
||||||
<div
|
<div
|
||||||
ref={qrCodeRef}
|
ref={qrCodeRef}
|
||||||
|
|
@ -745,69 +573,79 @@ const PublicQrCode = () => {
|
||||||
<PublicQrCodeShare qrCodeUrl={qrCodeUrl} />
|
<PublicQrCodeShare qrCodeUrl={qrCodeUrl} />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* PDF Preview Modal */}
|
{/* Print Content - A4 Format */}
|
||||||
<Modal
|
{qrCodeUrl && (
|
||||||
title="PDF Preview"
|
<div ref={printContentRef} className="print-only" style={{ display: 'none' }}>
|
||||||
open={isPreviewModalOpen}
|
<div style={{ padding: '40px 30px', textAlign: 'center', fontFamily: 'Arial, sans-serif' }}>
|
||||||
onCancel={() => {
|
{branchData?.[0]?.CompLogo && (
|
||||||
setIsPreviewModalOpen(false);
|
<div style={{ marginBottom: '20px' }}>
|
||||||
if (pdfPreviewUrl) {
|
<img
|
||||||
URL.revokeObjectURL(pdfPreviewUrl);
|
src={branchData[0].CompLogo}
|
||||||
setPdfPreviewUrl('');
|
alt="Company Logo"
|
||||||
}
|
style={{ maxWidth: '150px', maxHeight: '100px', objectFit: 'contain' }}
|
||||||
}}
|
|
||||||
footer={false}
|
|
||||||
// footer={[
|
|
||||||
// <Buttons
|
|
||||||
// key="download"
|
|
||||||
// buttonText="Download PDF"
|
|
||||||
// className="tertiary_Button"
|
|
||||||
// color="28a745"
|
|
||||||
// handleSubmit={() => {
|
|
||||||
// generatePDF(false, qrCodeUrl);
|
|
||||||
// setIsPreviewModalOpen(false);
|
|
||||||
// if (pdfPreviewUrl) {
|
|
||||||
// URL.revokeObjectURL(pdfPreviewUrl);
|
|
||||||
// setPdfPreviewUrl('');
|
|
||||||
// }
|
|
||||||
// }}
|
|
||||||
// icon={<DownloadOutlined />}
|
|
||||||
// >
|
|
||||||
// DOWNLOAD
|
|
||||||
// </Buttons>,
|
|
||||||
// <Buttons
|
|
||||||
// key="close"
|
|
||||||
// buttonText="Close"
|
|
||||||
// className="secondary_Button"
|
|
||||||
// color="6c757d"
|
|
||||||
// handleSubmit={() => {
|
|
||||||
// setIsPreviewModalOpen(false);
|
|
||||||
// if (pdfPreviewUrl) {
|
|
||||||
// URL.revokeObjectURL(pdfPreviewUrl);
|
|
||||||
// setPdfPreviewUrl('');
|
|
||||||
// }
|
|
||||||
// }}
|
|
||||||
// >
|
|
||||||
// CLOSE
|
|
||||||
// </Buttons>
|
|
||||||
// ]}
|
|
||||||
width={1000}
|
|
||||||
style={{ top: 20 }}
|
|
||||||
>
|
|
||||||
{pdfPreviewUrl && (
|
|
||||||
<div style={{ textAlign: 'center' }}>
|
|
||||||
<iframe
|
|
||||||
src={pdfPreviewUrl}
|
|
||||||
width="100%"
|
|
||||||
height="600px"
|
|
||||||
style={{ border: 'none', borderRadius: '4px' }}
|
|
||||||
title="PDF Preview"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</Modal>
|
<h1 style={{ margin: '15px 0', fontSize: '28px', color: '#333', fontWeight: 'bold' }}>
|
||||||
|
{branchData?.[0]?.BrName || branchData?.[0]?.CompName || ''}
|
||||||
|
</h1>
|
||||||
|
<p style={{ margin: '8px 0', fontSize: '14px', color: '#666' }}>
|
||||||
|
{[branchData?.[0]?.Address1, branchData?.[0]?.Address2, branchData?.[0]?.City, branchData?.[0]?.State, branchData?.[0]?.Zip]
|
||||||
|
.filter(Boolean)
|
||||||
|
.join(', ')}
|
||||||
|
</p>
|
||||||
|
<p style={{ margin: '8px 0', fontSize: '14px', color: '#666' }}>
|
||||||
|
<strong>Mobile:</strong> {branchData?.[0]?.BrMobile || ''}
|
||||||
|
</p>
|
||||||
|
<div style={{ margin: '40px 0', display: 'flex', justifyContent: 'center' }}>
|
||||||
|
<div style={{ padding: '20px', background: 'white', display: 'inline-block', border: '2px solid #ddd' }}>
|
||||||
|
<QRCode
|
||||||
|
size={300}
|
||||||
|
value={qrCodeUrl}
|
||||||
|
viewBox={`0 0 256 256`}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p style={{ marginTop: '30px', fontSize: '12px', color: '#666', wordBreak: 'break-all', maxWidth: '80%', margin: '30px auto 0' }}>
|
||||||
|
<strong>URL:</strong> {qrCodeUrl}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style>{`
|
||||||
|
@media print {
|
||||||
|
@page {
|
||||||
|
size: A4 portrait;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
html, body {
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
body * {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
.print-only, .print-only * {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
.print-only {
|
||||||
|
display: block !important;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
page-break-after: avoid;
|
||||||
|
}
|
||||||
|
.no-print {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`}</style>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
.slot-management {
|
.slot-management {
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
|
||||||
|
|
@ -257,3 +257,19 @@
|
||||||
.SlotManagementTable {
|
.SlotManagementTable {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.slotmanagemantTable {
|
||||||
|
.ant-table-cell {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.ant-table-tbody {
|
||||||
|
font-family: "Poppins";
|
||||||
|
}
|
||||||
|
button{
|
||||||
|
font-family: "Poppins";
|
||||||
|
span{
|
||||||
|
font-family: "Poppins";
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,32 @@
|
||||||
import { useCallback, useEffect, useState } from "react";
|
import { useCallback, useEffect, useState } from 'react';
|
||||||
import { useDispatch, useSelector } from "react-redux";
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
import { dateTimeFormatChange, getSession } from "../../Services/Others";
|
import { dateTimeFormatChange, getSession } from '../../Services/Others';
|
||||||
import { deleteSlotManagement, getSlotManagement, GlobalSlotDetailData } from "../../Features/SlotManagement/SlotManagement";
|
import {
|
||||||
import { Button, Modal, Table, Tag, List, Space } from "antd";
|
deleteSlotManagement,
|
||||||
import { ClockCircleOutlined, CalendarOutlined, DeleteFilled, PlusOutlined } from "@ant-design/icons";
|
getSlotManagement,
|
||||||
import Buttons from "../../Components/Forms/Buttons";
|
GlobalSlotDetailData,
|
||||||
import Search from "../../Components/Forms/Search";
|
} from '../../Features/SlotManagement/SlotManagement';
|
||||||
import FormHeader from "../PageComponents/FormHeader";
|
import { Button, Modal, Table, Tag, List, Space } from 'antd';
|
||||||
import { useNavigate } from "react-router-dom";
|
import {
|
||||||
import { Messages } from "../../Components/Notifications/Messages";
|
ClockCircleOutlined,
|
||||||
import { Tables } from "../../Components/Tables/Table";
|
CalendarOutlined,
|
||||||
import { changeBreadCrumb } from "../../Features/AppPage/CenterPage";
|
DeleteFilled,
|
||||||
|
PlusOutlined,
|
||||||
|
} from '@ant-design/icons';
|
||||||
|
import Buttons from '../../Components/Forms/Buttons';
|
||||||
|
import Search from '../../Components/Forms/Search';
|
||||||
|
import FormHeader from '../PageComponents/FormHeader';
|
||||||
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
import { Messages } from '../../Components/Notifications/Messages';
|
||||||
|
import { Tables } from '../../Components/Tables/Table';
|
||||||
|
import { changeBreadCrumb } from '../../Features/AppPage/CenterPage';
|
||||||
const subDirectory = import.meta.env.BASE_URL;
|
const subDirectory = import.meta.env.BASE_URL;
|
||||||
|
|
||||||
const SlotManagementList = () => {
|
const SlotManagementList = () => {
|
||||||
const CompId = getSession("CompId");
|
const CompId = getSession('CompId');
|
||||||
const BranchId = getSession("BranchId");
|
const BranchId = getSession('BranchId');
|
||||||
const AppId = getSession("AppId");
|
const AppId = getSession('AppId');
|
||||||
const UserId = getSession("UserId");
|
const UserId = getSession('UserId');
|
||||||
|
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
@ -36,7 +45,6 @@ const SlotManagementList = () => {
|
||||||
const [filteredInfo, setFilteredInfo] = useState({});
|
const [filteredInfo, setFilteredInfo] = useState({});
|
||||||
const [page, setpage] = useState(1);
|
const [page, setpage] = useState(1);
|
||||||
|
|
||||||
|
|
||||||
console.log(SloteData, 'fsafsfsdfdsfdsfdafda');
|
console.log(SloteData, 'fsafsfsdfdsfdsfdafda');
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -59,25 +67,26 @@ useEffect(() => {
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err, 'err');
|
console.log(err, 'err');
|
||||||
}
|
}
|
||||||
|
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const fetchManagementHistory = async () => {
|
const fetchManagementHistory = async () => {
|
||||||
const response = await dispatch(getSlotManagement({ CompId, BranchId, AppId })).unwrap();
|
const response = await dispatch(
|
||||||
|
getSlotManagement({ CompId, BranchId, AppId })
|
||||||
|
).unwrap();
|
||||||
const slotData = response?.data?.data;
|
const slotData = response?.data?.data;
|
||||||
setSloteData(slotData || []);
|
setSloteData(slotData || []);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleDelete = async (ExceptionId) => {
|
const handleDelete = async (ExceptionId) => {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const deleteData = {
|
const deleteData = {
|
||||||
ExceptionId: ExceptionId,
|
ExceptionId: ExceptionId,
|
||||||
UpdatedBy: UserId,
|
UpdatedBy: UserId,
|
||||||
ActiveStatus: "D",
|
ActiveStatus: 'D',
|
||||||
};
|
};
|
||||||
const response = await dispatch(deleteSlotManagement(deleteData)).unwrap();
|
const response = await dispatch(
|
||||||
|
deleteSlotManagement(deleteData)
|
||||||
|
).unwrap();
|
||||||
if (response?.data?.statusCode == 1) {
|
if (response?.data?.statusCode == 1) {
|
||||||
fetchManagementHistory();
|
fetchManagementHistory();
|
||||||
setMessageType('success');
|
setMessageType('success');
|
||||||
|
|
@ -85,7 +94,7 @@ useEffect(() => {
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
setMessageType('success');
|
setMessageType('success');
|
||||||
setMessageData("Failed to delete slot.");
|
setMessageData('Failed to delete slot.');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -94,7 +103,8 @@ useEffect(() => {
|
||||||
setMessageType(null);
|
setMessageType(null);
|
||||||
}, []);
|
}, []);
|
||||||
const handleViewSlots = (record) => {
|
const handleViewSlots = (record) => {
|
||||||
const flattenedSlots = record?.SlotDetails?.flatMap((slot) =>
|
const flattenedSlots =
|
||||||
|
record?.SlotDetails?.flatMap((slot) =>
|
||||||
slot.SlotExceptionDetails.map((exception) => ({
|
slot.SlotExceptionDetails.map((exception) => ({
|
||||||
...exception,
|
...exception,
|
||||||
ProdSubCatName: slot.ProdSubCatName,
|
ProdSubCatName: slot.ProdSubCatName,
|
||||||
|
|
@ -140,16 +150,16 @@ useEffect(() => {
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Slot Action",
|
title: 'Slot Action',
|
||||||
dataIndex: "ExceptionType",
|
dataIndex: 'ExceptionType',
|
||||||
key: "ExceptionType",
|
key: 'ExceptionType',
|
||||||
render: (text) => {
|
render: (text) => {
|
||||||
if (!text) return "-";
|
if (!text) return '-';
|
||||||
|
|
||||||
const mapping = {
|
const mapping = {
|
||||||
block: "Block",
|
block: 'Block',
|
||||||
holiday: "Holiday",
|
holiday: 'Holiday',
|
||||||
pricechange: "Price Change"
|
pricechange: 'Price Change',
|
||||||
};
|
};
|
||||||
|
|
||||||
// convert value safely (case-insensitive)
|
// convert value safely (case-insensitive)
|
||||||
|
|
@ -158,17 +168,19 @@ useEffect(() => {
|
||||||
return <span>{formattedValue}</span>;
|
return <span>{formattedValue}</span>;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ title: "Activity Type", dataIndex: "ModeOfException", key: "ModeOfException",
|
{
|
||||||
|
title: 'Activity Type',
|
||||||
|
dataIndex: 'ModeOfException',
|
||||||
|
key: 'ModeOfException',
|
||||||
render: (text) => {
|
render: (text) => {
|
||||||
if (!text) return "-";
|
if (!text) return '-';
|
||||||
|
|
||||||
const mapping = {
|
const mapping = {
|
||||||
subcategory: "Sub Category",
|
subcategory: 'Sub Category',
|
||||||
product: "Facility",
|
product: 'Facility',
|
||||||
slot: "Slot",
|
slot: 'Slot',
|
||||||
full_branch: "Full Branch",
|
full_branch: 'Full Branch',
|
||||||
category: "Category",
|
category: 'Category',
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// convert value safely (case-insensitive)
|
// convert value safely (case-insensitive)
|
||||||
|
|
@ -178,14 +190,13 @@ useEffect(() => {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "Slot Details",
|
title: 'Slot Details',
|
||||||
key: "SlotDetails",
|
key: 'SlotDetails',
|
||||||
align: "center",
|
align: 'center',
|
||||||
render: (_, record) => (
|
render: (_, record) => (
|
||||||
<Button
|
<Button
|
||||||
icon={<ClockCircleOutlined style={{ color: "#52c41a" }} />}
|
icon={<ClockCircleOutlined style={{ color: '#52c41a' }} />}
|
||||||
type="link"
|
type="link"
|
||||||
onClick={() => handleViewSlots(record)}
|
onClick={() => handleViewSlots(record)}
|
||||||
>
|
>
|
||||||
|
|
@ -194,63 +205,76 @@ useEffect(() => {
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Day(s)",
|
title: 'Day(s)',
|
||||||
key: "DayOfWeek",
|
key: 'DayOfWeek',
|
||||||
align: "center",
|
align: 'center',
|
||||||
render: (_, record) => (
|
render: (_, record) =>
|
||||||
record?.DayOfWeek.length > 0 ? (
|
record?.DayOfWeek.length > 0 ? (
|
||||||
<Button
|
<Button
|
||||||
icon={<CalendarOutlined style={{ color: "#fa8c16" }} />}
|
icon={<CalendarOutlined style={{ color: '#fa8c16' }} />}
|
||||||
type="link"
|
type="link"
|
||||||
onClick={() => handleViewDays(record)}
|
onClick={() => handleViewDays(record)}
|
||||||
>
|
>
|
||||||
View
|
View
|
||||||
</Button>
|
</Button>
|
||||||
) :'-'
|
) : (
|
||||||
|
'-'
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{ title: "Reason", dataIndex: "Reason", key: "Reason" },
|
{ title: 'Reason', dataIndex: 'Reason', key: 'Reason' },
|
||||||
{
|
{
|
||||||
title: "Action",
|
title: 'Action',
|
||||||
key: "Action",
|
key: 'Action',
|
||||||
dataIndex: "Action",
|
dataIndex: 'Action',
|
||||||
width: 100,
|
width: 100,
|
||||||
align: "center",
|
align: 'center',
|
||||||
render: (_, record) => (
|
render: (_, record) => (
|
||||||
<Space size="middle">
|
<Space size="middle">
|
||||||
<DeleteFilled
|
<DeleteFilled
|
||||||
style={{ color: "#FF4D4F", fontSize: "16px", cursor: "pointer" }}
|
style={{ color: '#FF4D4F', fontSize: '16px', cursor: 'pointer' }}
|
||||||
onClick={() => handleDelete(record.ExceptionId)}
|
onClick={() => handleDelete(record.ExceptionId)}
|
||||||
/>
|
/>
|
||||||
</Space>
|
</Space>
|
||||||
),
|
),
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
// Utility: check if a column has any non-null / non-empty data
|
// Utility: check if a column has any non-null / non-empty data
|
||||||
const hasDataInColumn = (data, key) => {
|
const hasDataInColumn = (data, key) => {
|
||||||
return data.some(item => item[key] !== null && item[key] !== undefined && item[key] !== "" && item[key] !== 0);
|
return data.some(
|
||||||
|
(item) =>
|
||||||
|
item[key] !== null &&
|
||||||
|
item[key] !== undefined &&
|
||||||
|
item[key] !== '' &&
|
||||||
|
item[key] !== 0
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const allSlotColumns = [
|
const allSlotColumns = [
|
||||||
{ title: "Slot Name", dataIndex: "SlotName", key: "SlotName" },
|
{ title: 'Slot Name', dataIndex: 'SlotName', key: 'SlotName' },
|
||||||
{ title: "Facility", dataIndex: "ProdName", key: "ProdName" },
|
{ title: 'Facility', dataIndex: 'ProdName', key: 'ProdName' },
|
||||||
{ title: "Sub category", dataIndex: "ProdSubCatName", key: "ProdSubCatName" },
|
|
||||||
{
|
{
|
||||||
title: "Valid From",
|
title: 'Sub category',
|
||||||
dataIndex: "ExceptionFrom",
|
dataIndex: 'ProdSubCatName',
|
||||||
key: "ExceptionFrom",
|
key: 'ProdSubCatName',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Valid From',
|
||||||
|
dataIndex: 'ExceptionFrom',
|
||||||
|
key: 'ExceptionFrom',
|
||||||
render: (text) => dateTimeFormatChange(text),
|
render: (text) => dateTimeFormatChange(text),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Valid To",
|
title: 'Valid To',
|
||||||
dataIndex: "ExceptionTo",
|
dataIndex: 'ExceptionTo',
|
||||||
key: "ExceptionTo",
|
key: 'ExceptionTo',
|
||||||
render: (text) => dateTimeFormatChange(text),
|
render: (text) => dateTimeFormatChange(text),
|
||||||
},
|
},
|
||||||
{ title: "New Price", dataIndex: "NewPrice", key: "NewPrice" },
|
{ title: 'New Price', dataIndex: 'NewPrice', key: 'NewPrice' },
|
||||||
{ title: "Single Price", dataIndex: "SinglePrice", key: "SinglePrice" },
|
{ title: 'Single Price', dataIndex: 'SinglePrice', key: 'SinglePrice' },
|
||||||
];
|
];
|
||||||
const slotColumns = allSlotColumns.filter(col => hasDataInColumn(selectedSlots, col.dataIndex));
|
const slotColumns = allSlotColumns.filter((col) =>
|
||||||
|
hasDataInColumn(selectedSlots, col.dataIndex)
|
||||||
|
);
|
||||||
const handlePageChange = (current) => {
|
const handlePageChange = (current) => {
|
||||||
setpage(current);
|
setpage(current);
|
||||||
};
|
};
|
||||||
|
|
@ -286,7 +310,7 @@ const slotColumns = allSlotColumns.filter(col => hasDataInColumn(selectedSlots,
|
||||||
</Buttons>
|
</Buttons>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="reportTable">
|
<div className="reportTable slotmanagemantTable">
|
||||||
<Tables
|
<Tables
|
||||||
columns={managementColumns}
|
columns={managementColumns}
|
||||||
dataSource={SloteData}
|
dataSource={SloteData}
|
||||||
|
|
@ -299,7 +323,7 @@ const slotColumns = allSlotColumns.filter(col => hasDataInColumn(selectedSlots,
|
||||||
</div>
|
</div>
|
||||||
{/* Slot Modal */}
|
{/* Slot Modal */}
|
||||||
<Modal
|
<Modal
|
||||||
title={`Slot Details ${selectedProduct?.ProdName || ""}`}
|
title={`Slot Details ${selectedProduct?.ProdName || ''}`}
|
||||||
open={isSlotModalOpen}
|
open={isSlotModalOpen}
|
||||||
onCancel={() => setIsSlotModalOpen(false)}
|
onCancel={() => setIsSlotModalOpen(false)}
|
||||||
footer={null}
|
footer={null}
|
||||||
|
|
@ -327,7 +351,10 @@ const slotColumns = allSlotColumns.filter(col => hasDataInColumn(selectedSlots,
|
||||||
dataSource={selectedDays}
|
dataSource={selectedDays}
|
||||||
renderItem={(day) => (
|
renderItem={(day) => (
|
||||||
<List.Item>
|
<List.Item>
|
||||||
<Tag color="blue" style={{ fontSize: "14px", padding: "4px 8px" }}>
|
<Tag
|
||||||
|
color="blue"
|
||||||
|
style={{ fontSize: '14px', padding: '4px 8px' }}
|
||||||
|
>
|
||||||
{day.toUpperCase()}
|
{day.toUpperCase()}
|
||||||
</Tag>
|
</Tag>
|
||||||
</List.Item>
|
</List.Item>
|
||||||
|
|
@ -339,7 +366,6 @@ const slotColumns = allSlotColumns.filter(col => hasDataInColumn(selectedSlots,
|
||||||
</Modal>
|
</Modal>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
// width: 99.9% !important;
|
// width: 99.9% !important;
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
height: 91vh !important;
|
height: 95vh !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -327,7 +327,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.CategoryHorizontalNew {
|
.CategoryHorizontalNew {
|
||||||
padding: 1rem 1rem;
|
padding: 12px 12px;
|
||||||
font-family: 'Inter', sans-serif;
|
font-family: 'Inter', sans-serif;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@
|
||||||
color: #52c41a;
|
color: #52c41a;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-family: 'Gilroy';
|
font-family: "Gilroy";
|
||||||
// nk
|
// nk
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
@ -595,7 +595,7 @@
|
||||||
.qtyUomName {
|
.qtyUomName {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-family: 'Gilroy';
|
font-family: "Gilroy";
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -603,7 +603,7 @@
|
||||||
.qtyUomName-itemCard {
|
.qtyUomName-itemCard {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-family: 'Gilroy';
|
font-family: "Gilroy";
|
||||||
text-align: center;
|
text-align: center;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
@ -1010,7 +1010,7 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
font-family: 'Inter', sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
letter-spacing: -0.5px;
|
letter-spacing: -0.5px;
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
|
|
@ -1023,7 +1023,7 @@
|
||||||
line-height: 1.25rem;
|
line-height: 1.25rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #1f2937;
|
color: #1f2937;
|
||||||
font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
|
font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
font-size: 0.7rem;
|
font-size: 0.7rem;
|
||||||
|
|
@ -1036,7 +1036,7 @@
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
|
font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card4Price {
|
.card4Price {
|
||||||
|
|
@ -1059,7 +1059,7 @@
|
||||||
padding: 0.375rem 0.75rem;
|
padding: 0.375rem 0.75rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
|
font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1139,7 +1139,7 @@
|
||||||
transition:
|
transition:
|
||||||
background-color 0.2s ease,
|
background-color 0.2s ease,
|
||||||
color 0.2s ease;
|
color 0.2s ease;
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: #dce7ff;
|
background-color: #dce7ff;
|
||||||
|
|
@ -1220,7 +1220,7 @@
|
||||||
row-gap: 0.5rem;
|
row-gap: 0.5rem;
|
||||||
// position: fixed;
|
// position: fixed;
|
||||||
// bottom: 10px;
|
// bottom: 10px;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #000;
|
color: #000;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
@ -1283,7 +1283,7 @@
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
|
|
@ -1324,7 +1324,7 @@
|
||||||
background-color: #4caf50;
|
background-color: #4caf50;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
@ -1338,7 +1338,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.blukSlotTbody {
|
.blukSlotTbody {
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1428,7 +1428,7 @@
|
||||||
|
|
||||||
.slot-price {
|
.slot-price {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
|
|
||||||
> div:nth-child(1) {
|
> div:nth-child(1) {
|
||||||
|
|
@ -1478,7 +1478,7 @@
|
||||||
.bookingModalBulk {
|
.bookingModalBulk {
|
||||||
min-width: max-content !important;
|
min-width: max-content !important;
|
||||||
max-width: 90vw !important;
|
max-width: 90vw !important;
|
||||||
font-family: 'Poppins' !important;
|
font-family: "Poppins" !important;
|
||||||
|
|
||||||
.ant-modal-content {
|
.ant-modal-content {
|
||||||
padding: 24px !important;
|
padding: 24px !important;
|
||||||
|
|
@ -1495,6 +1495,9 @@
|
||||||
min-width: 60vw;
|
min-width: 60vw;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
max-width: 90vw;
|
max-width: 90vw;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
max-width: 83vw;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bulk-submit-btn {
|
.bulk-submit-btn {
|
||||||
|
|
@ -1507,7 +1510,7 @@
|
||||||
width: max-content;
|
width: max-content;
|
||||||
height: max-content;
|
height: max-content;
|
||||||
padding: 9px 16px;
|
padding: 9px 16px;
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
|
@ -1524,6 +1527,10 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.SportsSlotHeader1 {
|
.SportsSlotHeader1 {
|
||||||
|
|
@ -1531,7 +1538,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
|
||||||
.CiShopIcon {
|
.CiShopIcon {
|
||||||
|
|
@ -1546,7 +1553,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
@ -1566,6 +1573,10 @@
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
gap: 2rem;
|
gap: 2rem;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sports-slot-toggle {
|
.sports-slot-toggle {
|
||||||
|
|
@ -1586,7 +1597,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.2s ease;
|
transition: all 0.2s ease;
|
||||||
min-width: 90px;
|
min-width: 90px;
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: rgba(13, 110, 253, 0.1);
|
background: rgba(13, 110, 253, 0.1);
|
||||||
|
|
@ -1656,6 +1667,9 @@
|
||||||
gap: 12px;
|
gap: 12px;
|
||||||
min-width: 300px;
|
min-width: 300px;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
min-width: 280px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bookingSportSlot {
|
.bookingSportSlot {
|
||||||
|
|
@ -1667,7 +1681,7 @@
|
||||||
color: #495057;
|
color: #495057;
|
||||||
min-width: 120px;
|
min-width: 120px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
scrollbar-width: thin;
|
scrollbar-width: thin;
|
||||||
|
|
@ -1677,6 +1691,9 @@
|
||||||
&:hover {
|
&:hover {
|
||||||
border-color: #3793f5;
|
border-color: #3793f5;
|
||||||
}
|
}
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
padding: 2px 2px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.slotproductName {
|
.slotproductName {
|
||||||
|
|
@ -1708,13 +1725,17 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
gap: 4px;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.slotTimingSelect {
|
.slotTimingSelect {
|
||||||
padding: 8px 8px;
|
padding: 8px 8px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.2s ease;
|
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 145px;
|
width: 145px;
|
||||||
|
|
@ -1723,16 +1744,15 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
width: 130px;
|
||||||
|
height: 95px;
|
||||||
|
}
|
||||||
|
|
||||||
&.available {
|
&.available {
|
||||||
background-color: #008000;
|
background-color: #008000;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-color: #4caf50;
|
border-color: #4caf50;
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: #ffffff;
|
|
||||||
color: #008000;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.booked {
|
&.booked {
|
||||||
|
|
@ -1740,10 +1760,6 @@
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border-color: #f44336;
|
border-color: #f44336;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
&:hover {
|
|
||||||
color: #c90b0b;
|
|
||||||
background-color: #ffff;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.incart {
|
&.incart {
|
||||||
|
|
@ -1756,10 +1772,6 @@
|
||||||
background-color: #ffe8bf;
|
background-color: #ffe8bf;
|
||||||
color: #5f4204;
|
color: #5f4204;
|
||||||
border-color: #ff9800;
|
border-color: #ff9800;
|
||||||
&:hover {
|
|
||||||
background-color: #5f4204;
|
|
||||||
color: #ffe8bf;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.blocked {
|
&.blocked {
|
||||||
|
|
@ -1767,10 +1779,6 @@
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border-color: #31a0f0;
|
border-color: #31a0f0;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
// &:hover{
|
|
||||||
// color:#148498;
|
|
||||||
// background-color: #fff;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.selected {
|
&.selected {
|
||||||
|
|
@ -1920,7 +1928,7 @@
|
||||||
|
|
||||||
.booked-details-container {
|
.booked-details-container {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
|
|
||||||
.booked-details-title {
|
.booked-details-title {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
|
|
@ -2051,7 +2059,7 @@
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
min-width: 70px;
|
min-width: 70px;
|
||||||
|
|
||||||
&:disabled {
|
&:disabled {
|
||||||
|
|
@ -2101,7 +2109,7 @@
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
min-width: 120px;
|
min-width: 120px;
|
||||||
box-shadow: 0 2px 4px rgba(55, 147, 245, 0.3);
|
box-shadow: 0 2px 4px rgba(55, 147, 245, 0.3);
|
||||||
|
|
||||||
|
|
@ -2127,7 +2135,7 @@
|
||||||
|
|
||||||
.all-bookings-container {
|
.all-bookings-container {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
|
|
||||||
.all-bookings-title {
|
.all-bookings-title {
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
|
|
@ -2215,7 +2223,7 @@
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
font-family: 'Poppins', sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
min-width: 60px;
|
min-width: 60px;
|
||||||
|
|
||||||
&:disabled {
|
&:disabled {
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,10 @@
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
&:hover {
|
||||||
|
color: #1292ee !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 1000px) {
|
@media (max-width: 1000px) {
|
||||||
|
|
@ -105,13 +109,37 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 0.1rem;
|
gap: 0.1rem;
|
||||||
|
|
||||||
|
.RiVerifiedBadgeFill {
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
height: 37px;
|
||||||
|
width: 37px;
|
||||||
|
padding: 6px 4px;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #1292ee !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
.BSBillingNavBar1-AllIcons {
|
.BSBillingNavBar1-AllIcons {
|
||||||
color: #ffffff !important;
|
color: #ffffff !important;
|
||||||
|
&:hover {
|
||||||
|
color: #1292ee !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.bs-membership__icon-btn {
|
.bs-membership__icon-btn {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
svg {
|
svg {
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
color: #ffffff !important;
|
color: #ffffff !important;
|
||||||
}
|
}
|
||||||
|
&:hover {
|
||||||
|
svg {
|
||||||
|
color: #1292ee !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -155,30 +183,33 @@
|
||||||
color: #6b7280 !important;
|
color: #6b7280 !important;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
// background-color: #2563eb;
|
// background-color: #2563eb;
|
||||||
height: 41px;
|
height: 40px;
|
||||||
width: 41px;
|
width: 40px;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
svg {
|
svg {
|
||||||
color: #ffffff !important;
|
color: #ffffff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: #eff6ff;
|
color: #1292ee;
|
||||||
color: #2563eb;
|
svg {
|
||||||
|
color: #1292ee !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.FaTruckIconHold {
|
.FaTruckIconHold {
|
||||||
padding: 10px 7px;
|
padding: 10px 7px;
|
||||||
border-radius: 0.5rem;
|
border-radius: 0.5rem;
|
||||||
color: #6b7280;
|
color: #ffffff;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 40px !important;
|
width: 40px !important;
|
||||||
height: 40px !important;
|
height: 40px !important;
|
||||||
// background-color: #2563eb;
|
// background-color: #2563eb;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: #eff6ff;
|
color: #1292ee;
|
||||||
color: #2563eb;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -194,6 +225,7 @@
|
||||||
// background-color: #2563eb;
|
// background-color: #2563eb;
|
||||||
height: 41px;
|
height: 41px;
|
||||||
width: 41px;
|
width: 41px;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
|
||||||
.BSBillingNav-icon {
|
.BSBillingNav-icon {
|
||||||
height: 22px !important;
|
height: 22px !important;
|
||||||
|
|
@ -201,8 +233,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: #eff6ff;
|
color: #1292ee;
|
||||||
color: #2563eb;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -245,10 +276,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.BsNavbarUser {
|
.BsNavbarUser {
|
||||||
color: #6b7280;
|
color: #ffffff;
|
||||||
font-size: 1.3rem;
|
font-size: 1.3rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
&:hover {
|
||||||
|
color: #1292ee;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.DropDownsCustomer {
|
.DropDownsCustomer {
|
||||||
|
|
@ -257,6 +295,10 @@
|
||||||
|
|
||||||
.BSBillingNav-icon {
|
.BSBillingNav-icon {
|
||||||
color: #ffffff !important;
|
color: #ffffff !important;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
&:hover {
|
||||||
|
color: #1292ee !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-select {
|
.ant-select {
|
||||||
|
|
@ -350,7 +392,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
color: #6b7280;
|
color: #ffffff !important;
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
top: 3.1rem;
|
top: 2.9rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -288,7 +288,7 @@ body {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
// justify-content: space-between;
|
// justify-content: space-between;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0.75rem 1.5rem;
|
padding: 8px 8px;
|
||||||
background-color: #1e2536;
|
background-color: #1e2536;
|
||||||
font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
|
font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -173,7 +173,7 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -185,7 +185,7 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -197,7 +197,7 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -210,7 +210,7 @@
|
||||||
height: max-content;
|
height: max-content;
|
||||||
min-height: 8rem;
|
min-height: 8rem;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
width: max-content;
|
width: max-content;
|
||||||
min-width: 250px;
|
min-width: 250px;
|
||||||
|
|
||||||
|
|
@ -256,7 +256,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
padding: 0.7rem 1rem;
|
padding: 0.7rem 1rem;
|
||||||
margin: 1vw 2vh;
|
margin: 1vw 2vh;
|
||||||
background-color: #e0e0e0;
|
background-color: #e0e0e0;
|
||||||
|
|
@ -319,7 +319,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 280px) and (max-width: 499px) {
|
@media (min-width: 280px) and (max-width: 499px) {
|
||||||
|
|
||||||
//srinath
|
//srinath
|
||||||
.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panels {
|
.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panels {
|
||||||
width: 50vw !important;
|
width: 50vw !important;
|
||||||
|
|
@ -746,7 +745,7 @@
|
||||||
padding: 10px 16px;
|
padding: 10px 16px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
font-family: 'Gilroy';
|
font-family: "Gilroy";
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background-color: #20a720;
|
background-color: #20a720;
|
||||||
|
|
@ -800,7 +799,7 @@
|
||||||
|
|
||||||
.RetailDashboard-Master {
|
.RetailDashboard-Master {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
font-family: 'Poppins' !important;
|
font-family: "Poppins" !important;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
|
|
@ -1113,7 +1112,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.detailsProductsCard {
|
.detailsProductsCard {
|
||||||
background: linear-gradient(90deg,
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
rgb(255, 255, 255) 0%,
|
rgb(255, 255, 255) 0%,
|
||||||
rgba(143, 209, 142, 0.71) 4%,
|
rgba(143, 209, 142, 0.71) 4%,
|
||||||
rgb(255, 255, 255) 7%,
|
rgb(255, 255, 255) 7%,
|
||||||
|
|
@ -1150,7 +1150,8 @@
|
||||||
rgb(255, 255, 255) 97%,
|
rgb(255, 255, 255) 97%,
|
||||||
rgb(255, 255, 255) 97%,
|
rgb(255, 255, 255) 97%,
|
||||||
rgba(143, 209, 142, 0.71) 100%,
|
rgba(143, 209, 142, 0.71) 100%,
|
||||||
rgb(76, 175, 80) 100%);
|
rgb(76, 175, 80) 100%
|
||||||
|
);
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
width: 95px;
|
width: 95px;
|
||||||
height: 85px;
|
height: 85px;
|
||||||
|
|
@ -1257,7 +1258,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
margin-top: 2rem;
|
margin-top: 2rem;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
}
|
}
|
||||||
|
|
||||||
.tltExpense {
|
.tltExpense {
|
||||||
|
|
@ -1389,7 +1390,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: background 0.2s;
|
transition: background 0.2s;
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
|
@ -1451,7 +1452,7 @@
|
||||||
box-shadow 0.18s;
|
box-shadow 0.18s;
|
||||||
// min-width: 130px;
|
// min-width: 130px;
|
||||||
position: relative;
|
position: relative;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
|
|
@ -1605,9 +1606,9 @@
|
||||||
flex: 1;
|
flex: 1;
|
||||||
padding: 16px 2px;
|
padding: 16px 2px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: 500;
|
font-weight: 600;
|
||||||
-webkit-text-stroke-width: 0.2px;
|
-webkit-text-stroke-width: 0.2px;
|
||||||
font-size: 1.8rem;
|
font-size: 1.7rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -1627,15 +1628,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.todaySnapshotBox.orders {
|
.todaySnapshotBox.orders {
|
||||||
color: #1976d2;
|
color: #3b3b3b;
|
||||||
}
|
}
|
||||||
|
|
||||||
.todaySnapshotBox.customers {
|
.todaySnapshotBox.customers {
|
||||||
color: #1976d2;
|
color: #3b3b3b;
|
||||||
}
|
}
|
||||||
|
|
||||||
.todaySnapshotBox.pending {
|
.todaySnapshotBox.pending {
|
||||||
color: #1976d2;
|
color: #3b3b3b;
|
||||||
}
|
}
|
||||||
|
|
||||||
.quickActionsRow {
|
.quickActionsRow {
|
||||||
|
|
@ -2180,7 +2181,6 @@
|
||||||
|
|
||||||
// Responsive
|
// Responsive
|
||||||
@media (max-width: 1024px) {
|
@media (max-width: 1024px) {
|
||||||
|
|
||||||
.dashboardMainGrid,
|
.dashboardMainGrid,
|
||||||
.dashboardSecondaryGrid {
|
.dashboardSecondaryGrid {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
@ -2465,7 +2465,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
font-family: 'Inter', sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
transition: background 0.2s;
|
transition: background 0.2s;
|
||||||
}
|
}
|
||||||
|
|
@ -2680,7 +2680,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.ai-suggestion::before {
|
.ai-suggestion::before {
|
||||||
content: '✨';
|
content: "✨";
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
color: #f7b731;
|
color: #f7b731;
|
||||||
|
|
@ -2712,7 +2712,7 @@
|
||||||
|
|
||||||
div {
|
div {
|
||||||
color: #2a2a2a;
|
color: #2a2a2a;
|
||||||
font-family: 'Inter', sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
|
|
@ -2726,7 +2726,7 @@
|
||||||
background-color: #e53935;
|
background-color: #e53935;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-family: 'Poppins';
|
font-family: "Poppins";
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
||||||
|
|
@ -5,3 +5,28 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// .ant-checkbox .ant-checkbox-inner:after
|
// .ant-checkbox .ant-checkbox-inner:after
|
||||||
|
.empAccessreportTable {
|
||||||
|
scrollbar-width: thin;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable all Ant Design table animations and hover effects
|
||||||
|
.ant-table,
|
||||||
|
.ant-table * {
|
||||||
|
transition: none !important;
|
||||||
|
animation: none !important;
|
||||||
|
animation-duration: 0s !important;
|
||||||
|
transition-duration: 0s !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table-tbody > tr:hover > td,
|
||||||
|
.ant-table-tbody > tr:hover,
|
||||||
|
.ant-table-row:hover > td,
|
||||||
|
.ant-table-row:hover {
|
||||||
|
background: transparent !important;
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table-cell-row-hover {
|
||||||
|
background: transparent !important;
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardpage-title {
|
.cardpage-title {
|
||||||
font-family: 'Barlow Condensed', sans-serif;
|
font-family: "Barlow Condensed", sans-serif;
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
@ -101,7 +101,7 @@
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
font-family: 'Manrope', sans-serif;
|
font-family: "Manrope", sans-serif;
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
// font-size: 1rem;
|
// font-size: 1rem;
|
||||||
|
|
@ -217,7 +217,7 @@
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
font-family: 'Manrope', sans-serif;
|
font-family: "Manrope", sans-serif;
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
// font-size: 1rem;
|
// font-size: 1rem;
|
||||||
|
|
@ -329,7 +329,7 @@
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
font-family: 'Manrope', sans-serif;
|
font-family: "Manrope", sans-serif;
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
// font-size: 1rem;
|
// font-size: 1rem;
|
||||||
|
|
@ -360,10 +360,10 @@
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
background: #f3f3f3;
|
background: #f3f3f3;
|
||||||
padding: '20px';
|
padding: "20px";
|
||||||
height: 35px;
|
height: 35px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
cursor: 'pointer';
|
cursor: "pointer";
|
||||||
}
|
}
|
||||||
|
|
||||||
.ProVariantCard-dis {
|
.ProVariantCard-dis {
|
||||||
|
|
@ -371,13 +371,12 @@
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
background: #f3f3f3;
|
background: #f3f3f3;
|
||||||
padding: '20px';
|
padding: "20px";
|
||||||
height: 35px;
|
height: 35px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.selfBookCardBook {
|
.selfBookCardBook {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
|
@ -413,12 +412,10 @@
|
||||||
background-color: #ffebee;
|
background-color: #ffebee;
|
||||||
border-color: #f44336;
|
border-color: #f44336;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.ProVariantCardSports {
|
.ProVariantCardSports {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -428,9 +425,9 @@
|
||||||
height: max-content;
|
height: max-content;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
background-color: #e8f5e8;
|
background-color: #008000;
|
||||||
border: 1px solid #4caf50;
|
border: 1px solid #008000;
|
||||||
color: #26922a;
|
color: #ffffff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
gap: 2px;
|
gap: 2px;
|
||||||
width: 48%;
|
width: 48%;
|
||||||
|
|
@ -444,11 +441,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.ProVariantCardSports:hover {
|
.ProVariantCardSports:hover {
|
||||||
background-color: #d9fcd9;
|
background-color: #ffffff;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
color: #008000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.ProVariantCardSports-dis {
|
.ProVariantCardSports-dis {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -457,9 +454,9 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
background-color: #ffebee;
|
background-color: #f02626f3;
|
||||||
border: 1px solid #d83126;
|
border: 1px solid #f02626f3;
|
||||||
color: #f44336;
|
color: #ffffff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
gap: 2px;
|
gap: 2px;
|
||||||
|
|
@ -485,7 +482,6 @@
|
||||||
font-family: "Poppins";
|
font-family: "Poppins";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.KioskCard-card {
|
.KioskCard-card {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
|
@ -501,7 +497,6 @@
|
||||||
&:hover,
|
&:hover,
|
||||||
:active {
|
:active {
|
||||||
background-color: red !important;
|
background-color: red !important;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -567,7 +562,6 @@
|
||||||
font-family: "Poppins";
|
font-family: "Poppins";
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
background: #007bff;
|
background: #007bff;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
@ -627,11 +621,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.BTNslot {
|
.BTNslot {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.BookingSlotDateGroup {
|
.BookingSlotDateGroup {
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,6 @@
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
height: max-content;
|
height: max-content;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -192,7 +191,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.address-type-section {
|
.address-type-section {
|
||||||
|
|
||||||
// padding: 12px;
|
// padding: 12px;
|
||||||
// background-color: #f8fafc;
|
// background-color: #f8fafc;
|
||||||
// border-radius: 8px;
|
// border-radius: 8px;
|
||||||
|
|
@ -588,9 +586,6 @@
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
color: white;
|
color: white;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.lowStock-SaveButton:hover {
|
.lowStock-SaveButton:hover {
|
||||||
background-color: #13c12a;
|
background-color: #13c12a;
|
||||||
|
|
@ -635,3 +630,11 @@
|
||||||
overflow: hidden !important;
|
overflow: hidden !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.addTaxinputDrawer {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -292,3 +292,22 @@ a {
|
||||||
font-family: VAR(--PARA_FONT_FAMILY);
|
font-family: VAR(--PARA_FONT_FAMILY);
|
||||||
color: VAR(--ERROR_COLOR);
|
color: VAR(--ERROR_COLOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Disable all Ant Design table animations and hover effects */
|
||||||
|
.ant-table,
|
||||||
|
.ant-table *,
|
||||||
|
.ant-table-wrapper * {
|
||||||
|
transition: none !important;
|
||||||
|
animation: none !important;
|
||||||
|
animation-duration: 0s !important;
|
||||||
|
transition-duration: 0s !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table-tbody > tr:hover > td,
|
||||||
|
.ant-table-tbody > tr:hover,
|
||||||
|
.ant-table-row:hover > td,
|
||||||
|
.ant-table-row:hover,
|
||||||
|
.ant-table-cell-row-hover {
|
||||||
|
background: transparent !important;
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue