tango-app-api-analysis-traffic 3.1.0-alpha.4 → 3.1.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -283,7 +283,7 @@ export const sendEmailers = async ( req, res ) => {
|
|
|
283
283
|
storeCount: emailerSourceData._source.storeIds.length-1,
|
|
284
284
|
storeBaseImage: cameraBaseImage,
|
|
285
285
|
};
|
|
286
|
-
console.log( 'cameraBaseImage 1=>', cameraBaseImage );
|
|
286
|
+
// console.log( 'cameraBaseImage 1=>', cameraBaseImage );
|
|
287
287
|
// // Get Client Data ///
|
|
288
288
|
let clientData = await clientService.findOne( { clientId: emailerSourceData._source.clientId }, { clientId: 1, emailersConfig: 1, featureConfigs: 1, clientName: 1 } );
|
|
289
289
|
|
|
@@ -308,8 +308,11 @@ export const sendEmailers = async ( req, res ) => {
|
|
|
308
308
|
missedOpportunityCalculation: clientData?.featureConfigs?.missedOpportunityCalculation || 'engagers-conversion',
|
|
309
309
|
bufferTime: 30,
|
|
310
310
|
},
|
|
311
|
+
templateId: emailerSourceData._id,
|
|
311
312
|
};
|
|
312
313
|
// console.log( 'templateData =>', templateData );
|
|
314
|
+
// console.log( 'emailerSourceData =>', emailerSourceData );
|
|
315
|
+
|
|
313
316
|
|
|
314
317
|
// // Get Lamda Metrics Data ////
|
|
315
318
|
let lamdaMetrics = await getLamdaMetricsData( templateData );
|
|
@@ -380,7 +383,7 @@ async function getLamdaMetricsData( templateData ) {
|
|
|
380
383
|
// Default Value
|
|
381
384
|
}
|
|
382
385
|
} catch ( error ) {
|
|
383
|
-
console.log( 'error getLamdaMetricsData=>', error );
|
|
386
|
+
// console.log( 'error getLamdaMetricsData=>', error );
|
|
384
387
|
logger.error( { error: error, function: 'getLamdaMetricsData' } );
|
|
385
388
|
return false;
|
|
386
389
|
}
|
|
@@ -448,7 +451,7 @@ async function lamdaAPI1( templateData ) {
|
|
|
448
451
|
}
|
|
449
452
|
return lamdaAPIResultData;
|
|
450
453
|
} catch ( error ) {
|
|
451
|
-
console.log( 'error lamdaAPI1=>', error );
|
|
454
|
+
// console.log( 'error lamdaAPI1=>', error );
|
|
452
455
|
logger.error( { error: error, function: 'lamdaAPI1' } );
|
|
453
456
|
return false;
|
|
454
457
|
}
|
|
@@ -520,7 +523,7 @@ async function lamdaAPI2( templateData ) {
|
|
|
520
523
|
}
|
|
521
524
|
return lamdaAPIResultData;
|
|
522
525
|
} catch ( error ) {
|
|
523
|
-
console.log( 'error lamdaAPI2=>', error );
|
|
526
|
+
// console.log( 'error lamdaAPI2=>', error );
|
|
524
527
|
logger.error( { error: error, function: 'lamdaAPI2' } );
|
|
525
528
|
return false;
|
|
526
529
|
}
|
|
@@ -634,7 +637,7 @@ async function lamdaAPI3( templateData ) {
|
|
|
634
637
|
}
|
|
635
638
|
return lamdaAPIResultData;
|
|
636
639
|
} catch ( error ) {
|
|
637
|
-
console.log( 'error lamdaAPI3=>', error );
|
|
640
|
+
// console.log( 'error lamdaAPI3=>', error );
|
|
638
641
|
logger.error( { error: error, function: 'lamdaAPI3' } );
|
|
639
642
|
return false;
|
|
640
643
|
}
|
|
@@ -752,12 +755,12 @@ async function lamdaAPI4( templateData ) {
|
|
|
752
755
|
let newTemplateData = templateData;
|
|
753
756
|
const overallLamdaURL = 'https://7ozawm36scwmwhh4vzkecqkgv40lpjxt.lambda-url.ap-south-1.on.aws/';
|
|
754
757
|
let lamdaAPIResultData = await LamdaServiceCall( overallLamdaURL, newTemplateData );
|
|
755
|
-
if ( !lamdaAPIResultData || lamdaAPIResultData.status_code !==
|
|
758
|
+
if ( !lamdaAPIResultData || lamdaAPIResultData.status_code !== 200 ) {
|
|
756
759
|
return '';
|
|
757
760
|
}
|
|
758
761
|
return lamdaAPIResultData;
|
|
759
762
|
} catch ( error ) {
|
|
760
|
-
console.log( 'error lamdaAPI4=>', error );
|
|
763
|
+
// console.log( 'error lamdaAPI4=>', error );
|
|
761
764
|
logger.error( { error: error, function: 'lamdaAPI4' } );
|
|
762
765
|
return false;
|
|
763
766
|
}
|
|
@@ -803,11 +806,11 @@ async function hourlyChartLamdaAPI( templateData ) {
|
|
|
803
806
|
|
|
804
807
|
let hourlyData = lamdaAPIResultData.hourlyData || [];
|
|
805
808
|
let hourlyChartImagePath = await overallHourlyChart( hourlyData );
|
|
806
|
-
|
|
809
|
+
// console.log( 'dayjs().format', dayjs().format );
|
|
807
810
|
// Upload hourly chart
|
|
808
811
|
const hourlyChartParams = {
|
|
809
|
-
Bucket: bucketDetails.
|
|
810
|
-
Key:
|
|
812
|
+
Bucket: bucketDetails.emailers,
|
|
813
|
+
Key: `emailer/${templateData.clientId}/${dayjs().format( 'YYYY-MM-DD' )}/${templateData.templateId}/hourlyChart/${dayjs().unix()}.png`,
|
|
811
814
|
ContentType: 'image/png',
|
|
812
815
|
body: hourlyChartImagePath,
|
|
813
816
|
};
|
|
@@ -815,16 +818,16 @@ async function hourlyChartLamdaAPI( templateData ) {
|
|
|
815
818
|
const hourlyChartResponse = await fileUpload( hourlyChartParams );
|
|
816
819
|
if ( hourlyChartResponse && hourlyChartResponse.Key ) {
|
|
817
820
|
hourlyChartUrl = await signedUrl( {
|
|
818
|
-
Bucket: bucketDetails.
|
|
821
|
+
Bucket: bucketDetails.emailers,
|
|
819
822
|
file_path: hourlyChartResponse.Key,
|
|
820
823
|
} );
|
|
821
824
|
} else {
|
|
822
825
|
throw new Error( 'S3 Upload failed for hourly chart' );
|
|
823
826
|
}
|
|
824
|
-
console.log( 'chartUrl hourlyChartLamdaAPI=>', hourlyChartUrl );
|
|
827
|
+
// console.log( 'chartUrl hourlyChartLamdaAPI=>', hourlyChartUrl );
|
|
825
828
|
return hourlyChartUrl;
|
|
826
829
|
} catch ( error ) {
|
|
827
|
-
console.log( ' error hourlyChartLamdaAPI=>', error );
|
|
830
|
+
// console.log( ' error hourlyChartLamdaAPI=>', error );
|
|
828
831
|
logger.error( { error: error, function: 'hourlyChartLamdaAPI' } );
|
|
829
832
|
return false;
|
|
830
833
|
}
|
|
@@ -855,26 +858,30 @@ async function dailyChartLamdaAPI( templateData ) {
|
|
|
855
858
|
if ( !lamdaAPIResultData || lamdaAPIResultData.status_code !== '200' ) {
|
|
856
859
|
return chartUrl;
|
|
857
860
|
}
|
|
861
|
+
// console.log( 'Unix timestamp:', dayjs().unix() );
|
|
858
862
|
|
|
859
863
|
let dailyData = lamdaAPIResultData.storeData || [];
|
|
860
864
|
let chartImagePath = await overallChart( dailyData );
|
|
865
|
+
|
|
861
866
|
// Upload overall chart
|
|
862
867
|
const overallChartParams = {
|
|
863
|
-
Bucket: bucketDetails.
|
|
864
|
-
Key:
|
|
868
|
+
Bucket: bucketDetails.emailers,
|
|
869
|
+
Key: `emailer/${templateData.clientId}/${dayjs().format( 'YYYY-MM-DD' )}/${templateData.templateId}/dailyChart/${dayjs().unix()}.png`,
|
|
870
|
+
// Key: `${dayjs().format( 'YYYY-MM-DD-HH:mm:ss' )}/mail/emaildailyUserChart.png`,
|
|
871
|
+
// ${templateData.templateType}
|
|
865
872
|
ContentType: 'image/png',
|
|
866
873
|
body: chartImagePath,
|
|
867
874
|
};
|
|
868
875
|
const overallChartResponse = await fileUpload( overallChartParams );
|
|
869
876
|
if ( overallChartResponse && overallChartResponse.Key ) {
|
|
870
877
|
chartUrl = await signedUrl( {
|
|
871
|
-
Bucket: bucketDetails.
|
|
878
|
+
Bucket: bucketDetails.emailers,
|
|
872
879
|
file_path: overallChartResponse.Key,
|
|
873
880
|
} );
|
|
874
881
|
} else {
|
|
875
882
|
throw new Error( 'S3 Upload failed for overall chart' );
|
|
876
883
|
}
|
|
877
|
-
console.log( 'chartUrl dailyChartLamdaAPI=>', chartUrl );
|
|
884
|
+
// console.log( 'chartUrl dailyChartLamdaAPI=>', chartUrl );
|
|
878
885
|
return chartUrl;
|
|
879
886
|
} catch ( error ) {
|
|
880
887
|
logger.error( { error: error, function: 'dailyChartLamdaAPI' } );
|
|
@@ -1031,6 +1038,7 @@ async function dailyFootfallTrendChartLamdaAPI( templateData ) {
|
|
|
1031
1038
|
// return lamdaAPIResultData;
|
|
1032
1039
|
|
|
1033
1040
|
let newTemplateData = templateData;
|
|
1041
|
+
// console.log( 'Template Data:', templateData );
|
|
1034
1042
|
// newTemplateData.dateType = 'weekly';
|
|
1035
1043
|
let processTypeValue = 'engagers';
|
|
1036
1044
|
if ( templateData.featureConfigs.conversionCalculation !== 'engagers-count' ) {
|
|
@@ -1047,34 +1055,42 @@ async function dailyFootfallTrendChartLamdaAPI( templateData ) {
|
|
|
1047
1055
|
newTemplateData.processType = processTypeValue;
|
|
1048
1056
|
newTemplateData.limit = 31;
|
|
1049
1057
|
newTemplateData.offset = 0;
|
|
1058
|
+
// console.log( 'newTemplateData', newTemplateData );
|
|
1050
1059
|
const overallLamdaURL = 'https://x6sjlqwaqd64kyioxhwrwfesbm0jjitx.lambda-url.ap-south-1.on.aws/';
|
|
1051
1060
|
let lamdaAPIResultData = await LamdaServiceCall( overallLamdaURL, newTemplateData );
|
|
1061
|
+
// console.log( 'lamdaAPIResultData =>', lamdaAPIResultData );
|
|
1052
1062
|
if ( !lamdaAPIResultData || lamdaAPIResultData.status_code !== '200' ) {
|
|
1053
1063
|
return chartUrl;
|
|
1054
1064
|
}
|
|
1055
1065
|
|
|
1056
1066
|
let dailyData = lamdaAPIResultData.footfallTrendData || [];
|
|
1057
1067
|
let chartImagePath = await footfallTrend( dailyData );
|
|
1068
|
+
// console.log( 'chartImagePath =>', chartImagePath );
|
|
1058
1069
|
// Upload overall chart
|
|
1070
|
+
// console.log( 'Unix timestamp:', dayjs().unix() );
|
|
1059
1071
|
const overallChartParams = {
|
|
1060
|
-
Bucket: bucketDetails.
|
|
1061
|
-
Key:
|
|
1072
|
+
Bucket: bucketDetails.emailers,
|
|
1073
|
+
Key: `emailer/${templateData.clientId}/${dayjs().format( 'YYYY-MM-DD' )}/${templateData.templateId}/footfallTrendChart/${dayjs().unix()}.png`,
|
|
1074
|
+
// Key: `${dayjs().format( 'YYYY-MM-DD-HH:mm:ss' )}/mail/emailweeklyUserChart.png`,
|
|
1062
1075
|
ContentType: 'image/png',
|
|
1063
1076
|
body: chartImagePath,
|
|
1064
1077
|
};
|
|
1078
|
+
// console.log( 'bucketDetails =>', bucketDetails.mailer );
|
|
1079
|
+
// console.log( 'overallChartParams =>', overallChartParams );
|
|
1065
1080
|
const overallChartResponse = await fileUpload( overallChartParams );
|
|
1081
|
+
// console.log("overallChartResponse =>", overallChartResponse);
|
|
1066
1082
|
if ( overallChartResponse && overallChartResponse.Key ) {
|
|
1067
1083
|
chartUrl = await signedUrl( {
|
|
1068
|
-
Bucket: bucketDetails.
|
|
1084
|
+
Bucket: bucketDetails.emailers,
|
|
1069
1085
|
file_path: overallChartResponse.Key,
|
|
1070
1086
|
} );
|
|
1071
1087
|
} else {
|
|
1072
1088
|
throw new Error( 'S3 Upload failed for overall chart' );
|
|
1073
1089
|
}
|
|
1074
|
-
console.log( 'chartUrl dailyFootfallTrendChartLamdaAPI=>', chartUrl );
|
|
1090
|
+
// console.log( 'chartUrl dailyFootfallTrendChartLamdaAPI=>', chartUrl );
|
|
1075
1091
|
return chartUrl;
|
|
1076
1092
|
} catch ( error ) {
|
|
1077
|
-
console.log( 'error dailyFootfallTrendChartLamdaAPI=>', error );
|
|
1093
|
+
// console.log( 'error dailyFootfallTrendChartLamdaAPI=>', error );
|
|
1078
1094
|
logger.error( { error: error, function: 'dailyFootfallTrendChartLamdaAPI' } );
|
|
1079
1095
|
return false;
|
|
1080
1096
|
}
|
|
@@ -1094,7 +1110,7 @@ async function getLamdaChartData( templateData ) {
|
|
|
1094
1110
|
] );
|
|
1095
1111
|
resultLamdaChartData.dailyData = chartImagePath;
|
|
1096
1112
|
resultLamdaChartData.hourlyData = hourlyChartImagePath;
|
|
1097
|
-
console.log( 'resultLamdaChartData 555=>', resultLamdaChartData );
|
|
1113
|
+
// console.log( 'resultLamdaChartData 555=>', resultLamdaChartData );
|
|
1098
1114
|
return resultLamdaChartData;
|
|
1099
1115
|
} else {
|
|
1100
1116
|
// Default Value
|
|
@@ -1102,7 +1118,7 @@ async function getLamdaChartData( templateData ) {
|
|
|
1102
1118
|
return resultLamdaChartData;
|
|
1103
1119
|
}
|
|
1104
1120
|
} catch ( error ) {
|
|
1105
|
-
console.log( 'error getLamdaChartData=>', error );
|
|
1121
|
+
// console.log( 'error getLamdaChartData=>', error );
|
|
1106
1122
|
logger.error( { error: error, function: 'getLamdaChartData' } );
|
|
1107
1123
|
return false;
|
|
1108
1124
|
}
|
|
@@ -1167,7 +1183,7 @@ async function emailerSendEmail( storeData, clientData, lamdaMetrics, lamdaChart
|
|
|
1167
1183
|
|
|
1168
1184
|
// templateData.userEmail
|
|
1169
1185
|
await sendEmailWithSES(
|
|
1170
|
-
'
|
|
1186
|
+
'keerthivasan@tangotech.co.in',
|
|
1171
1187
|
subject,
|
|
1172
1188
|
html,
|
|
1173
1189
|
'',
|
|
@@ -1178,7 +1194,7 @@ async function emailerSendEmail( storeData, clientData, lamdaMetrics, lamdaChart
|
|
|
1178
1194
|
|
|
1179
1195
|
return true;
|
|
1180
1196
|
} catch ( error ) {
|
|
1181
|
-
console.log( 'error emailerSendEmail=>', error );
|
|
1197
|
+
// console.log( 'error emailerSendEmail=>', error );
|
|
1182
1198
|
logger.error( { error: error, function: 'emailerSendEmail' } );
|
|
1183
1199
|
return false;
|
|
1184
1200
|
}
|
|
@@ -1190,7 +1206,11 @@ const overallChart = async ( data ) => {
|
|
|
1190
1206
|
// let chartImagePath = path.resolve( __dirname, 'emailchart-image.png' );
|
|
1191
1207
|
// console.log( 'Chart Image Path:', chartImagePath );
|
|
1192
1208
|
|
|
1193
|
-
const browser = await puppeteer.launch( { headless: true } );
|
|
1209
|
+
// const browser = await puppeteer.launch( { headless: true } );
|
|
1210
|
+
const browser = await puppeteer.launch( {
|
|
1211
|
+
args: [ '--no-sandbox', '--disable-setuid-sandbox' ],
|
|
1212
|
+
headless: true,
|
|
1213
|
+
} );
|
|
1194
1214
|
const page = await browser.newPage();
|
|
1195
1215
|
|
|
1196
1216
|
const chartHtmlContent = `
|
|
@@ -1305,7 +1325,11 @@ const overallChart = async ( data ) => {
|
|
|
1305
1325
|
const overallHourlyChart = async ( data ) => {
|
|
1306
1326
|
console.log( 'Generating overallHourlyChart heatmap chart...' );
|
|
1307
1327
|
|
|
1308
|
-
const browser = await puppeteer.launch( { headless: true } );
|
|
1328
|
+
// const browser = await puppeteer.launch( { headless: true } );
|
|
1329
|
+
const browser = await puppeteer.launch( {
|
|
1330
|
+
args: [ '--no-sandbox', '--disable-setuid-sandbox' ],
|
|
1331
|
+
headless: true,
|
|
1332
|
+
} );
|
|
1309
1333
|
const page = await browser.newPage();
|
|
1310
1334
|
|
|
1311
1335
|
const chartHtmlContent = `
|
|
@@ -1478,7 +1502,11 @@ const overallHourlyChart = async ( data ) => {
|
|
|
1478
1502
|
const footfallTrend = async ( data ) => {
|
|
1479
1503
|
console.log( 'Generating footfallTrend footfall chart...' );
|
|
1480
1504
|
|
|
1481
|
-
const browser = await puppeteer.launch( { headless: true } );
|
|
1505
|
+
// const browser = await puppeteer.launch( { headless: true } );
|
|
1506
|
+
const browser = await puppeteer.launch( {
|
|
1507
|
+
args: [ '--no-sandbox', '--disable-setuid-sandbox' ],
|
|
1508
|
+
headless: true,
|
|
1509
|
+
} );
|
|
1482
1510
|
const page = await browser.newPage();
|
|
1483
1511
|
|
|
1484
1512
|
const chartHtmlContent = `
|
|
@@ -1682,7 +1710,7 @@ const footfallTrend = async ( data ) => {
|
|
|
1682
1710
|
await page.waitForSelector( '#Footfalltrend', { visible: true } );
|
|
1683
1711
|
weeklyChartBuffer = await page.screenshot( { encoding: 'binary' } );
|
|
1684
1712
|
} catch ( err ) {
|
|
1685
|
-
// console.
|
|
1713
|
+
// console.log( 'Error generating chart screenshot:', err );
|
|
1686
1714
|
throw new Error( 'Failed to generate chart screenshot' );
|
|
1687
1715
|
} finally {
|
|
1688
1716
|
await browser.close();
|
|
@@ -554,11 +554,11 @@
|
|
|
554
554
|
{{#eq data.lamdaMetrics.emailerCards.avgFootfall.vsMTDAvgComparisonFlag true}}
|
|
555
555
|
<!--[if mso]> <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="33" style="width:33px;"> <tr> <td> <![endif]-->
|
|
556
556
|
<p class="color-12b76a" width="33"
|
|
557
|
-
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
557
|
+
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
558
558
|
{{data.lamdaMetrics.emailerCards.avgFootfall.vsMTDAvgRate}}%</p>
|
|
559
559
|
{{else}}
|
|
560
560
|
<p class="color-f04438" width="33"
|
|
561
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
561
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
562
562
|
{{data.lamdaMetrics.emailerCards.avgFootfall.vsMTDAvgRate}}%
|
|
563
563
|
</p>
|
|
564
564
|
{{/eq}}
|
|
@@ -820,11 +820,11 @@
|
|
|
820
820
|
{{#eq data.lamdaMetrics.emailerCards.avgDwellTime.vsMTDAvgComparisonFlag true}}
|
|
821
821
|
<!--[if mso]> <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="33" style="width:33px;"> <tr> <td> <![endif]-->
|
|
822
822
|
<p class="color-12b76a" width="33"
|
|
823
|
-
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
823
|
+
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
824
824
|
{{data.lamdaMetrics.emailerCards.avgDwellTime.vsMTDAvgRate}}%</p>
|
|
825
825
|
{{else}}
|
|
826
826
|
<p class="color-f04438" width="33"
|
|
827
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
827
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
828
828
|
{{data.lamdaMetrics.emailerCards.avgDwellTime.vsMTDAvgRate}}%
|
|
829
829
|
</p>
|
|
830
830
|
{{/eq}}
|
|
@@ -1205,7 +1205,7 @@ background: radial-gradient(circle at 16.16% 32.77%, rgba(255, 255, 255, 0.40) 0
|
|
|
1205
1205
|
<td style="width:12px; min-width:12px;" width="12">
|
|
1206
1206
|
 </td>
|
|
1207
1207
|
<td width="135">
|
|
1208
|
-
<a href="https://
|
|
1208
|
+
<a href="https://play.google.com/store/apps/details?id=com.tangoeye.app" target="_blank">
|
|
1209
1209
|
<img src="https://media.marka-img.com/74f52b1f/ytenrNp9D3aqdlyQQEJ9I9nbB9kMip.png"
|
|
1210
1210
|
width="135" border="0"
|
|
1211
1211
|
style="min-width:135px; width:135px; border-radius:5px; height: auto; display: block;">
|
|
@@ -417,12 +417,12 @@ background: radial-gradient(circle at 16.16% 32.77%, rgba(255, 255, 255, 0.40) 0
|
|
|
417
417
|
<td valign="top" width="33" style="padding-left: 3px; width: 33px; vertical-align: top">
|
|
418
418
|
{{#eq data.lamdaMetrics.emailerCards.footfall.vsMTDAvgComparisonFlag true}}
|
|
419
419
|
<p class="color-12b76a" width="33"
|
|
420
|
-
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
420
|
+
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
421
421
|
{{data.lamdaMetrics.emailerCards.footfall.vsMTDAvgRate}}%
|
|
422
422
|
</p>
|
|
423
423
|
{{else}}
|
|
424
424
|
<p class="color-f04438" width="33"
|
|
425
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
425
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
426
426
|
{{data.lamdaMetrics.emailerCards.footfall.vsMTDAvgRate}}%
|
|
427
427
|
</p>
|
|
428
428
|
{{/eq}}
|
|
@@ -944,7 +944,7 @@ background: radial-gradient(circle at 16.16% 32.77%, rgba(255, 255, 255, 0.40) 0
|
|
|
944
944
|
<td style="width:12px; min-width:12px;" width="12">
|
|
945
945
|
 </td>
|
|
946
946
|
<td width="135">
|
|
947
|
-
<a href="https://
|
|
947
|
+
<a href="https://play.google.com/store/apps/details?id=com.tangoeye.app"
|
|
948
948
|
target="_blank">
|
|
949
949
|
<img src="https://media.marka-img.com/74f52b1f/ytenrNp9D3aqdlyQQEJ9I9nbB9kMip.png"
|
|
950
950
|
width="135" border="0"
|
|
@@ -430,10 +430,10 @@
|
|
|
430
430
|
<td valign="top" width="33" style="padding-left: 3px; width: 33px; vertical-align: top">
|
|
431
431
|
{{#eq data.lamdaMetrics.emailerCards.avgFootfall.lastWeekComparisonFlag true}}
|
|
432
432
|
<!--[if mso]> <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="33" style="width:33px;"> <tr> <td> <![endif]-->
|
|
433
|
-
<p class="color-12b76a" width="33" style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
433
|
+
<p class="color-12b76a" width="33" style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly"> {{data.lamdaMetrics.emailerCards.avgFootfall.lastWeekRate}}%</p>
|
|
434
434
|
{{else}}
|
|
435
435
|
<p class="color-12b76a" width="33"
|
|
436
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
436
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
437
437
|
{{data.lamdaMetrics.emailerCards.avgFootfall.lastWeekRate}}%</p>
|
|
438
438
|
{{/eq}}
|
|
439
439
|
<!--[if mso]></td></tr></table><![endif]-->
|
|
@@ -464,10 +464,10 @@
|
|
|
464
464
|
<td valign="top" width="33" style="padding-left: 3px; width: 33px; vertical-align: top">
|
|
465
465
|
{{#eq data.lamdaMetrics.emailerCards.avgFootfall.vsMTDAvgComparisonFlag true}}
|
|
466
466
|
<!--[if mso]> <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="33" style="width:33px;"> <tr> <td> <![endif]-->
|
|
467
|
-
<p class="color-12b76a" width="33" style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
467
|
+
<p class="color-12b76a" width="33" style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">{{data.lamdaMetrics.emailerCards.avgFootfall.vsMTDAvgRate}}%</p>
|
|
468
468
|
{{else}}
|
|
469
469
|
<p class="color-f04438" width="33"
|
|
470
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
470
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
471
471
|
{{data.lamdaMetrics.emailerCards.avgFootfall.vsMTDAvgRate}}%
|
|
472
472
|
</p>
|
|
473
473
|
{{/eq}}
|
|
@@ -546,11 +546,11 @@
|
|
|
546
546
|
{{#eq data.lamdaMetrics.emailerCards.avgConversion.lastWeekComparisonFlag true}}
|
|
547
547
|
<!--[if mso]> <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="33" style="width:33px;"> <tr> <td> <![endif]-->
|
|
548
548
|
<p class="color-12b76a" width="33"
|
|
549
|
-
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
549
|
+
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
550
550
|
{{data.lamdaMetrics.emailerCards.avgConversion.lastWeekRate}}%</p>
|
|
551
551
|
{{else}}
|
|
552
552
|
<p class="color-12b76a" width="33"
|
|
553
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
553
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
554
554
|
{{data.lamdaMetrics.emailerCards.avgConversion.lastWeekRate}}%</p>
|
|
555
555
|
{{/eq}}
|
|
556
556
|
<!--[if mso]></td></tr></table><![endif]-->
|
|
@@ -589,11 +589,11 @@
|
|
|
589
589
|
{{#eq data.lamdaMetrics.emailerCards.avgConversion.vsMTDAvgComparisonFlag true}}
|
|
590
590
|
<!--[if mso]> <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="33" style="width:33px;"> <tr> <td> <![endif]-->
|
|
591
591
|
<p class="color-12b76a" width="33"
|
|
592
|
-
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
592
|
+
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
593
593
|
{{data.lamdaMetrics.emailerCards.avgConversion.vsMTDAvgRate}}%</p>
|
|
594
594
|
{{else}}
|
|
595
595
|
<p class="color-f04438" width="33"
|
|
596
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
596
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
597
597
|
{{data.lamdaMetrics.emailerCards.avgConversion.vsMTDAvgRate}}%
|
|
598
598
|
</p>
|
|
599
599
|
{{/eq}}
|
|
@@ -645,7 +645,7 @@
|
|
|
645
645
|
<td valign="middle" style="vertical-align: middle">
|
|
646
646
|
<p class="color-101828"
|
|
647
647
|
style="font-size: 20px; font-weight: 700; color: #101828; margin: 0; padding: 0; line-height: 30px; mso-line-height-alt: normal">
|
|
648
|
-
{{data.lamdaMetrics.emailerCards.avgDwellTime.
|
|
648
|
+
{{data.lamdaMetrics.emailerCards.avgDwellTime.totalCount}} mins</p>
|
|
649
649
|
</td>
|
|
650
650
|
<td valign="middle" style="padding-left: 6px; vertical-align: middle">
|
|
651
651
|
<p class="color-344054"
|
|
@@ -681,11 +681,11 @@
|
|
|
681
681
|
{{#eq data.lamdaMetrics.emailerCards.avgDwellTime.lastWeekComparisonFlag true}}
|
|
682
682
|
<!--[if mso]> <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="33" style="width:33px;"> <tr> <td> <![endif]-->
|
|
683
683
|
<p class="color-12b76a" width="33"
|
|
684
|
-
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
684
|
+
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
685
685
|
{{data.lamdaMetrics.emailerCards.avgDwellTime.lastWeekRate}}%</p>
|
|
686
686
|
{{else}}
|
|
687
687
|
<p class="color-12b76a" width="33"
|
|
688
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
688
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
689
689
|
{{data.lamdaMetrics.emailerCards.avgDwellTime.lastWeekRate}}%</p>
|
|
690
690
|
{{/eq}}
|
|
691
691
|
<!--[if mso]></td></tr></table><![endif]-->
|
|
@@ -724,11 +724,11 @@
|
|
|
724
724
|
{{#eq data.lamdaMetrics.emailerCards.avgDwellTime.vsMTDAvgComparisonFlag true}}
|
|
725
725
|
<!--[if mso]> <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="33" style="width:33px;"> <tr> <td> <![endif]-->
|
|
726
726
|
<p class="color-12b76a" width="33"
|
|
727
|
-
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
727
|
+
style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
728
728
|
{{data.lamdaMetrics.emailerCards.avgDwellTime.vsMTDAvgRate}}%</p>
|
|
729
729
|
{{else}}
|
|
730
730
|
<p class="color-f04438" width="33"
|
|
731
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
731
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width: 40px; line-height: 20px; mso-line-height-rule: exactly">
|
|
732
732
|
{{data.lamdaMetrics.emailerCards.avgDwellTime.vsMTDAvgRate}}%
|
|
733
733
|
</p>
|
|
734
734
|
{{/eq}}
|
|
@@ -799,10 +799,10 @@
|
|
|
799
799
|
<td valign="top" width="33" style="padding-left: 3px; width: 33px; vertical-align: top">
|
|
800
800
|
{{#eq data.lamdaMetrics.emailerCards.avgOperationalHours.lastWeekComparisonFlag true}}
|
|
801
801
|
<!--[if mso]> <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="33" style="width:33px;"> <tr> <td> <![endif]-->
|
|
802
|
-
<p class="color-12b76a" width="33" style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width:
|
|
802
|
+
<p class="color-12b76a" width="33" style="font-size: 14px; font-weight: 500; color: #12b76a; margin: 0; padding: 0; width: 42px; line-height: 20px; mso-line-height-rule: exactly"> {{data.lamdaMetrics.emailerCards.avgOperationalHours.lastWeekRate}}%</p>
|
|
803
803
|
{{else}}
|
|
804
804
|
<p class="color-12b76a" width="33"
|
|
805
|
-
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width:
|
|
805
|
+
style="font-size: 14px; font-weight: 500; color: #f04438; margin: 0; padding: 0; width: 42px; line-height: 20px; mso-line-height-rule: exactly">
|
|
806
806
|
{{data.lamdaMetrics.emailerCards.avgOperationalHours.lastWeekRate}}%</p>
|
|
807
807
|
{{/eq}}
|
|
808
808
|
<!--[if mso]></td></tr></table><![endif]-->
|
|
@@ -1116,7 +1116,7 @@
|
|
|
1116
1116
|
<td style="width:12px; min-width:12px;" width="12">
|
|
1117
1117
|
 </td>
|
|
1118
1118
|
<td width="135">
|
|
1119
|
-
<a href="https://
|
|
1119
|
+
<a href="https://play.google.com/store/apps/details?id=com.tangoeye.app"
|
|
1120
1120
|
target="_blank">
|
|
1121
1121
|
<img src="https://media.marka-img.com/74f52b1f/ytenrNp9D3aqdlyQQEJ9I9nbB9kMip.png"
|
|
1122
1122
|
width="135" border="0"
|
|
@@ -843,7 +843,7 @@ background: radial-gradient(circle at 16.16% 32.77%, rgba(255, 255, 255, 0.40) 0
|
|
|
843
843
|
<td style="width:12px; min-width:12px;" width="12">
|
|
844
844
|
 </td>
|
|
845
845
|
<td width="135">
|
|
846
|
-
<a href="https://
|
|
846
|
+
<a href="https://play.google.com/store/apps/details?id=com.tangoeye.app"
|
|
847
847
|
target="_blank">
|
|
848
848
|
<img src="https://media.marka-img.com/74f52b1f/ytenrNp9D3aqdlyQQEJ9I9nbB9kMip.png"
|
|
849
849
|
width="135" border="0"
|