From 71a37dfd4164354ee2a7ab994b6e80c8363d95ed Mon Sep 17 00:00:00 2001 From: Srinath Date: Wed, 4 Mar 2026 16:29:52 +0530 Subject: [PATCH] Implement dynamic header and table color functionality --- .../ThermalPrinter/PrintStyle2.jsx | 290 ++++++++++++------ 1 file changed, 202 insertions(+), 88 deletions(-) diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle2.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle2.jsx index dba6669..ab4f60f 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle2.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle2.jsx @@ -29,6 +29,16 @@ import { GlobalprintCredit, GlobalprintTax, GlobalSelectedPrintHeaderColor, + GlobalSelectedPrintHeaderFontColor, + GlobalSelectedTableHeaderColor, + GlobalSelectedTableHeaderFontColor, + GlobalSelectedTableBodyColor, + GlobalSelectedTableBodyFontColor, + GlobalSelectedFooterColor, + GlobalSelectedFooterFontColor, + GlobalRowType, + GlobalSelectedNetAmountColor, + GlobalSelectedNetAmountFontColor, } from '../../../../Features/ThemeChange/ThemeChange'; import Logo from '../../../../Images/Logo.jpg'; import QRCode from 'react-qr-code'; @@ -95,7 +105,16 @@ const Printstyle2 = ({ (ps) => ps.PaymentTypeName === 'UPI' ); const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); - console.log(Qrcodet, 'Qrcodet', paymentTypeUPI); + const SelectedHeaderFontColor = useSelector(GlobalSelectedPrintHeaderFontColor); + const SelectedTableHeaderColor = useSelector(GlobalSelectedTableHeaderColor); + const SelectedTableHeaderFontColor = useSelector(GlobalSelectedTableHeaderFontColor); + const SelectedTableBodyColor = useSelector(GlobalSelectedTableBodyColor); + const SelectedTableBodyFontColor = useSelector(GlobalSelectedTableBodyFontColor); + const SelectedRowType = useSelector(GlobalRowType); + const SelectedTableFooterColor = useSelector(GlobalSelectedFooterColor); + const SelectedTableFooterFontColor = useSelector(GlobalSelectedFooterFontColor); + const SelectedNetAmountColor = useSelector(GlobalSelectedNetAmountColor); + const SelectedNetAmountFontColor = useSelector(GlobalSelectedNetAmountFontColor); const GlobalSignature = useSelector(GlobalprintSignature); const GlobaltermsAndConditions = useSelector(GlobalprinttermsAndConditions); const GlobalSignatureImages = useSelector(GlobalSignatureImage); @@ -140,6 +159,12 @@ const Printstyle2 = ({ let BillName = printDatas?.PrintHdrName; let FormatTheme = printDatas?.PrintType == 'S' ? true : false; let PageSize = printDatas?.PageSize; + let printColors = printDatas?.PrintColors; + const headerColor = printColors?.find(obj => obj.headerColor)?.headerColor; + const tableHeaderColor = printColors?.find(obj => obj.tableHeaderColor)?.tableHeaderColor; + const tableBodyColor = printColors?.find(obj => obj.tableBodyColor)?.tableBodyColor; + const footerColor = printColors?.find(obj => obj.footerColor)?.footerColor; + const netAmtColor = printColors?.find(obj => obj.netAmtColor)?.netAmtColor; const Signature = FieldDetails?.['signature']; const TermsnAdCondition = FieldDetails?.['terms&conditions']; @@ -339,7 +364,51 @@ const Printstyle2 = ({ : 0; const shouldFooterBeOnNewPage = lastChunkRows > (PageSize == 'A5' ? 5 : 13); + const headerStyle ={ + backgroundColor: GlobaldummyData + ? SelectedHeaderColor + : headerColor?.background, + color: GlobaldummyData + ? SelectedHeaderFontColor + : headerColor?.font, + } + const tableHeaderStyle ={ + backgroundColor: GlobaldummyData + ? SelectedTableHeaderColor + : tableHeaderColor?.background, + + color: GlobaldummyData + ? SelectedTableHeaderFontColor + : tableHeaderColor?.font, + } + const tableBodyStyle ={ + backgroundColor: GlobaldummyData + ? SelectedTableBodyColor + : tableBodyColor?.background, + color: GlobaldummyData + ? SelectedTableBodyFontColor + : tableBodyColor?.font, + } + const rowtypeStyle = GlobaldummyData? SelectedRowType: tableBodyColor?.rowType; + const footerColorStyle ={ + backgroundColor: GlobaldummyData + ? SelectedTableFooterColor + : footerColor?.background, + + color: GlobaldummyData + ? SelectedTableFooterFontColor + : footerColor?.font, + } + const netAmountStyle ={ + backgroundColor: GlobaldummyData + ? SelectedNetAmountColor + : netAmtColor?.background, + + color: GlobaldummyData + ? SelectedNetAmountFontColor + : netAmtColor?.font, + } return ( <> {FormatTheme ? ( @@ -392,7 +461,7 @@ const Printstyle2 = ({ {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : ( -
+
{GlobaldummyData ? ( GlobalLogo && ( @@ -425,7 +494,7 @@ const Printstyle2 = ({ style={{ fontSize: '18px', fontWeight: '600', - color: SelectedHeaderColor, + // color: SelectedHeaderColor, }} > {GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName} @@ -546,23 +615,23 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No + S.No ) - : SLNO && S.No} + : SLNO && S.No} {GlobaldummyData - ? GlobalItem && Item - : Item && Item} + ? GlobalItem && Item + : Item && Item} {GlobaldummyData ? GlobalHsnCode && ( HSN ) : HsnCode && ( HSN @@ -570,14 +639,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalQuantity && ( Qty ) : Quantity && ( {WeightasKg ? 'Qty/Kg' : 'Qty'} @@ -585,14 +654,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalMRP && ( MRP ) : MRP && ( MRP @@ -600,14 +669,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalAmount && ( Amt ) : Amount && ( Amt @@ -615,14 +684,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalDiscount && ( Dis{' '} ) : Discount && ( Dis{' '} @@ -633,6 +702,7 @@ const Printstyle2 = ({ style={{ width: '10px', textAlign: 'center', + ...tableHeaderStyle, }} > Tax % @@ -644,6 +714,7 @@ const Printstyle2 = ({ style={{ width: '10px', textAlign: 'center', + ...tableHeaderStyle, }} > Tax % @@ -652,14 +723,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalRate && ( Rate ) : Rate && ( Rate @@ -669,7 +740,18 @@ const Printstyle2 = ({ {dataChunk?.map((item, index) => { return ( - + {GlobaldummyData ? GlobalSlNo && ( @@ -918,23 +1000,23 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No + S.No ) - : SLNO && S.No} + : SLNO && S.No} {GlobaldummyData - ? GlobalItem && Item - : Item && Item} + ? GlobalItem && Item + : Item && Item} {GlobaldummyData ? GlobalHsnCode && ( HSN ) : HsnCode && ( HSN @@ -942,14 +1024,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalQuantity && ( Qty ) : Quantity && ( {WeightasKg ? 'Qty/Kg' : 'Qty'} @@ -957,14 +1039,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalMRP && ( MRP ) : MRP && ( MRP @@ -972,14 +1054,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalAmount && ( Amt ) : Amount && ( Amt @@ -987,14 +1069,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalDiscount && ( Dis{' '} ) : Discount && ( Dis{' '} @@ -1002,9 +1084,7 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalTax && ( Tax % @@ -1013,10 +1093,7 @@ const Printstyle2 = ({ : Tax == true && table2Data?.OrderType !== 'E' && ( Tax % @@ -1024,14 +1101,14 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalRate && ( Rate ) : Rate && ( Rate @@ -1041,7 +1118,18 @@ const Printstyle2 = ({ {dataChunk?.map((item, index) => { return ( - + {GlobaldummyData ? GlobalSlNo && ( @@ -1305,7 +1393,7 @@ const Printstyle2 = ({ !shouldFooterBeOnNewPage && FormatTheme && ( <> -
+
@@ -1973,6 +2061,7 @@ const Printstyle2 = ({ pageBreakBefore: 'avoid', pageBreakInside: 'avoid', minHeight: 'auto', + ...footerColorStyle }} > {GlobaldummyData @@ -2185,10 +2274,11 @@ const Printstyle2 = ({ pageBreakBefore: 'avoid', pageBreakInside: 'avoid', minHeight: 'auto', + ...footerColorStyle }} > <> -
+
@@ -2842,6 +2932,7 @@ const Printstyle2 = ({ pageBreakBefore: 'avoid', pageBreakInside: 'avoid', minHeight: 'auto', + ...footerColorStyle }} > {GlobaldummyData @@ -3039,8 +3130,8 @@ const Printstyle2 = ({ {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : ( -
-
+
+
{GlobaldummyData ? ( GlobalLogo && ( {GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName} @@ -3183,86 +3274,86 @@ const Printstyle2 = ({ {GlobaldummyData - ? GlobalSlNo && S.No - : SLNO && S.No} + ? GlobalSlNo && S.No + : SLNO && S.No} {GlobaldummyData - ? GlobalItem && Item - : Item && Item} + ? GlobalItem && Item + : Item && Item} {GlobaldummyData ? GlobalHsnCode && ( - + HSN ) : HsnCode && ( - + HSN )} {GlobaldummyData ? GlobalQuantity && ( - + Qty ) : Quantity && ( - + {WeightasKg ? 'Qty/Kg' : 'Qty'} )} {GlobaldummyData ? GlobalMRP && ( - + MRP ) : MRP && ( - + MRP )} {GlobaldummyData ? GlobalAmount && ( - + Amt ) : Amount && ( - + Amt )} {GlobaldummyData ? GlobalDiscount && ( - + Dis{' '} ) : Discount && ( - + Dis{' '} )} {GlobaldummyData ? GlobalTax && ( - + Tax % ) : Tax == true && table2Data?.OrderType !== 'E' && ( - + Tax % )} {GlobaldummyData ? GlobalRate && ( - + Rate ) : Rate && ( - + Rate )} @@ -3272,7 +3363,18 @@ const Printstyle2 = ({ {(GlobaldummyData ? products : TakeawayData)?.map( (item, index) => { return ( - + {GlobaldummyData ? GlobalSlNo && ( @@ -3509,86 +3611,86 @@ const Printstyle2 = ({ {GlobaldummyData - ? GlobalSlNo && S.No - : SLNO && S.No} + ? GlobalSlNo && S.No + : SLNO && S.No} {GlobaldummyData - ? GlobalItem && Item - : Item && Item} + ? GlobalItem && Item + : Item && Item} {GlobaldummyData ? GlobalHsnCode && ( - + HSN ) : HsnCode && ( - + HSN )} {GlobaldummyData ? GlobalQuantity && ( - + Qty ) : Quantity && ( - + {WeightasKg ? 'Qty/Kg' : 'Qty'} )} {GlobaldummyData ? GlobalMRP && ( - + MRP ) : MRP && ( - + MRP )} {GlobaldummyData ? GlobalAmount && ( - + Amt ) : Amount && ( - + Amt )} {GlobaldummyData ? GlobalDiscount && ( - + Dis{' '} ) : Discount && ( - + Dis{' '} )} {GlobaldummyData ? GlobalTax && ( - + Tax % ) : Tax == true && table2Data?.OrderType !== 'E' && ( - + Tax % )} {GlobaldummyData ? GlobalRate && ( - + Rate ) : Rate && ( - + Rate )} @@ -3598,7 +3700,18 @@ const Printstyle2 = ({ {(GlobaldummyData ? products : DineInData)?.map( (item, index) => { return ( - + {GlobaldummyData ? GlobalSlNo && ( @@ -3772,7 +3885,7 @@ const Printstyle2 = ({
)} -
+
Qty
@@ -4386,6 +4499,7 @@ const Printstyle2 = ({ pageBreakBefore: 'avoid', pageBreakInside: 'avoid', minHeight: 'auto', + ...footerColorStyle }} > {GlobaldummyData