tango-app-api-trax 3.9.19 → 3.9.20

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tango-app-api-trax",
3
- "version": "3.9.19",
3
+ "version": "3.9.20",
4
4
  "description": "Trax",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -325,7 +325,7 @@ export async function PCLconfigCreation( req, res ) {
325
325
  },
326
326
  } );
327
327
  let getSections = await CLquestions.aggregate( sectionQuery );
328
- if ( getSections.length || [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'storehygienemonitoring', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( getCLconfig.checkListType ) ) {
328
+ if ( getSections.length || [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) {
329
329
  if ( getSections.length ) {
330
330
  for ( let element3 of getSections ) {
331
331
  let collectQuestions = {};
@@ -651,11 +651,11 @@ export async function PCLconfigCreation( req, res ) {
651
651
  // }
652
652
  }
653
653
  } else {
654
- if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( getCLconfig.checkListType ) ) {
654
+ if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) {
655
655
  let storeNameList = allQuestion.map( ( item ) => item.store_id );
656
- let storeDetails = await storeService.find( { clientId: getCLconfig.client_id, status: 'active', ...( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( getCLconfig.checkListType ) ) ? { storeId: { $in: storeNameList } } : {} }, { storeId: 1 } );
656
+ let storeDetails = await storeService.find( { clientId: getCLconfig.client_id, status: 'active', ...( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) ? { storeId: { $in: storeNameList } } : {} }, { storeId: 1 } );
657
657
  let storeList = storeDetails.map( ( store ) => store.storeId );
658
- if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( getCLconfig.checkListType ) ) {
658
+ if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) {
659
659
  allQuestion = allQuestion.filter( ( ele ) => storeList.includes( ele?.store_id ) );
660
660
  } else {
661
661
  allQuestion = storeDetails.map( ( item ) => {
@@ -689,7 +689,7 @@ export async function PCLconfigCreation( req, res ) {
689
689
  client_id: getCLconfig.client_id,
690
690
  aiStoreList: allQuestion.length ? allQuestion.map( ( store ) => store.store_id ) : [],
691
691
  };
692
- if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring' ].includes( getCLconfig.checkListType ) ) {
692
+ if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) {
693
693
  let processData = {
694
694
  aiStoreList: allQuestion.length ? allQuestion.map( ( store ) => {
695
695
  return { storeName: store.storeName, storeId: store.store_id, events: store.events };
@@ -930,7 +930,7 @@ async function insertData( requestData ) {
930
930
  },
931
931
  } );
932
932
  let getSections = await CLquestions.aggregate( sectionQuery );
933
- if ( getSections.length || [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( getCLconfig.checkListType ) ) {
933
+ if ( getSections.length || [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) {
934
934
  if ( getSections.length ) {
935
935
  for ( let element3 of getSections ) {
936
936
  let collectQuestions = {};
@@ -1225,11 +1225,11 @@ async function insertData( requestData ) {
1225
1225
  // }
1226
1226
  }
1227
1227
  } else {
1228
- if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( getCLconfig.checkListType ) ) {
1228
+ if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) {
1229
1229
  let storeNameList = allQuestion.map( ( item ) => item.store_id );
1230
- let storeDetails = await storeService.find( { clientId: getCLconfig.client_id, status: 'active', ...( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( getCLconfig.checkListType ) ) ? { storeId: { $in: storeNameList } } : {} }, { storeId: 1 } );
1230
+ let storeDetails = await storeService.find( { clientId: getCLconfig.client_id, status: 'active', ...( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) ? { storeId: { $in: storeNameList } } : {} }, { storeId: 1 } );
1231
1231
  let storeList = storeDetails.map( ( store ) => store.storeId );
1232
- if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( getCLconfig.checkListType ) ) {
1232
+ if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) {
1233
1233
  allQuestion = allQuestion.filter( ( ele ) => storeList.includes( ele?.store_id ) );
1234
1234
  } else {
1235
1235
  allQuestion = storeDetails.map( ( item ) => {
@@ -1263,7 +1263,7 @@ async function insertData( requestData ) {
1263
1263
  client_id: getCLconfig.client_id,
1264
1264
  aiStoreList: allQuestion.length ? allQuestion.map( ( store ) => store.store_id ) : [],
1265
1265
  };
1266
- if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( getCLconfig.checkListType ) ) {
1266
+ if ( [ 'storeopenandclose', 'mobileusagedetection', 'uniformdetection', 'customerunattended', 'staffleftinthemiddle', 'scrum', 'cleaning', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'unattendeddetection' ].includes( getCLconfig.checkListType ) ) {
1267
1267
  let processData = {
1268
1268
  aiStoreList: allQuestion.length ? allQuestion.map( ( store ) => {
1269
1269
  return { storeName: store.storeName, storeId: store.store_id, events: store.events };
package/src/hbs/flag.hbs CHANGED
@@ -1,249 +1,249 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
-
6
- <meta charset="utf-8">
7
- <meta http-equiv="x-ua-compatible" content="ie=edge">
8
- <title>Trial Intiate Email</title>
9
- <meta name="viewport" content="width=device-width, initial-scale=1">
10
- <style type="text/css">
11
- @media screen {
12
- @font-face {
13
- font-family: 'Inter';
14
- font-style: normal;
15
- font-weight: 400;
16
- font-display: swap;
17
- src: local("Inter"), local("Inter-Regular"), url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');
18
- unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
19
- }
20
- }
21
-
22
- body {
23
- font-family: "Inter", sans-serif !important;
24
- }
25
-
26
- body,
27
- table,
28
- td,
29
- a {
30
- -ms-text-size-adjust: 100%;
31
- -webkit-text-size-adjust: 100%;
32
- }
33
-
34
- table,
35
- td {
36
- mso-table-rspace: 0pt;
37
- mso-table-lspace: 0pt;
38
- }
39
-
40
- img {
41
- -ms-interpolation-mode: bicubic;
42
- }
43
-
44
- a[x-apple-data-detectors] {
45
- font-family: "inherit" !important;
46
- font-size: inherit !important;
47
- font-weight: inherit !important;
48
- line-height: inherit !important;
49
- color: inherit !important;
50
- text-decoration: none !important;
51
- }
52
-
53
-
54
- div[style*="margin: 16px 0;"
55
-
56
- ] {
57
- margin: 0 !important;
58
- }
59
-
60
- body {
61
- width: 100% !important;
62
- height: 100% !important;
63
- padding: 0 !important;
64
- margin: 0 !important;
65
- }
66
-
67
-
68
- table {
69
- border-collapse: collapse !important;
70
- }
71
-
72
- a {
73
- color: #1a82e2;
74
- }
75
-
76
- img {
77
- height: auto;
78
- line-height: 100%;
79
- text-decoration: none;
80
- border: 0;
81
- outline: none;
82
- }
83
-
84
- .flagText {
85
- /* font-family: 'Inter'; */
86
- /* color: #667085 !important; */
87
- font-size: 16px;
88
- font-weight: 600;
89
- line-height: 24px;
90
- text-align: left;
91
-
92
- }
93
- </style>
94
-
95
- </head>
96
-
97
- <body style="background-color: #dbe5ea;">
98
-
99
- <div class="preheader"
100
- style="display: none; max-width: 0; max-height: 0; overflow: hidden; font-size: 1px; line-height: 1px; color: #fff; opacity: 0;">
101
- Email Summary (Hidden)
102
- </div>
103
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="padding-left:10px;padding-right:10px">
104
- <tr>
105
- <td bgcolor="#dbe5ea" style="padding:32px 10px 0 10px">
106
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;" align="center">
107
- <tr>
108
- <td class="o_bg-white o_px-md o_py-md o_sans o_text"
109
- style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 24px;background-color: #ffffff;padding-left: 18px;padding-right: 24px;padding-top: 24px;padding-bottom: 24px;">
110
- <p style="margin-top: 0px;margin-bottom: 0px;"><a class="o_text-white"
111
- href="https://tangoeye.ai/"
112
- style="text-decoration: none;outline: none;color: #ffffff;"><img
113
- src="https://devtangoretail-api.tangoeye.ai/logo.png" width="200" height="100"
114
- alt="SimpleApp"
115
- style="-ms-interpolation-mode: bicubic;vertical-align: middle;border: 0;line-height: 100%;height: auto;outline: none;text-decoration: none;"></a>
116
- </p>
117
- </td>
118
- </tr>
119
- <tr>
120
- <td align="left" bgcolor="#ffffff"
121
- style="padding-left: 30px;padding-right: 24px; font-size: 14px; line-height: 24px;">
122
- <p class="o_heading o_mb-xxs"
123
- style="width: 624px;height: 0px;border: 1px solid #CBD5E1;flex: none;order: 1;flex-grow: 0;">
124
- </p>
125
- </td>
126
- </tr>
127
- <tr>
128
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
129
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
130
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
131
- style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
132
- <span class="o_heading o_text-dark o_mb-xxs"
133
- style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
134
- Hi,<br />
135
- Flag has been detected based on the response submitted in a recently completed
136
- checklist for Store {{data.storeName}}. Review
137
- the flagged item and take the necessary action from the dashboard.
138
- </span>
139
- </div>
140
- </td>
141
- </tr>
142
- <tr>
143
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
144
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
145
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
146
- style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
147
- <span class="o_heading o_text-dark o_mb-xxs"
148
- style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
149
- Details of the checklist are as follows:
150
- </span>
151
- </div>
152
- </td>
153
- </tr>
154
- </table>
155
- </td>
156
- </tr>
157
- <tr>
158
- <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
159
- <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%"
160
- style="max-width: 680px;">
161
- <tr bgcolor="#ffffff" style="border:none;margin-top:0px;">
162
- <td class="flagText" style="padding-left:30px; line-height: 24px;color:#000000">Store Name :
163
- </td>
164
- <td></td>
165
- <td></td>
166
- <td class="flagText">{{data.storeName}}</td>
167
- </tr>
168
- <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
169
- <td class="flagText" style="padding-left:30px; line-height: 24px;">Checklist Name :</td>
170
- <td></td>
171
- <td></td>
172
- <td class="flagText">{{data.checklistName}}</td>
173
- </tr>
174
-
175
- <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
176
- <td class="flagText" style="padding-left:30px; line-height: 24px;">No of Flags :</td>
177
- <td></td>
178
- <td></td>
179
- <td class="flagText">{{data.flagCount}}</td>
180
- </tr>
181
- <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
182
- <td class="flagText" style="padding-left:30px; line-height: 24px;">Submitted By :</td>
183
- <td></td>
184
- <td></td>
185
- <td class="flagText">{{data.submittedBy}}</td>
186
- </tr>
187
- <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
188
- <td class="flagText" style="padding-left:30px; line-height: 24px;">Date & Time :</td>
189
- <td></td>
190
- <td></td>
191
- <td class="flagText">{{data.time}}</td>
192
- </tr>
193
- </table>
194
- </td>
195
- </tr>
196
- <tr>
197
- <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
198
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
199
- <tr>
200
- <td bgcolor="#ffffff" style="padding: 20px;padding-top:15px;padding-left:30px;">
201
- <table border="0" cellpadding="0" cellspacing="0">
202
- <tr>
203
- <td align="center" bgcolor="#00A3FF" style="border-radius: 6px;height:50px;">
204
- <a href="{{data.domain}}" target="_blank"
205
- style="display: inline-block; padding: 16px 36px; font-size: 16px; color: #ffffff; text-decoration: none; border-radius: 6px;">View
206
- Flags
207
- </a>
208
- </td>
209
- </tr>
210
- </table>
211
- </td>
212
- </tr>
213
- </table>
214
- </td>
215
- </tr>
216
- <tr>
217
- <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 32px 10px;">
218
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
219
- <tr>
220
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
221
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-top:5px">
222
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
223
- style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
224
- <p>
225
- If you have any questions or need assistance, please reach out to us at
226
- support@tangotech.co.in.
227
- </p>
228
- </div>
229
- </td>
230
- </tr>
231
- <tr>
232
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
233
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom:15px">
234
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
235
- style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
236
- <p>
237
- © Tango Eye. All rights reserved.</p>
238
- </div>
239
- </td>
240
- </tr>
241
- </table>
242
- </td>
243
- </tr>
244
-
245
- </table>
246
-
247
- </body>
248
-
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
8
+ <title>Trial Intiate Email</title>
9
+ <meta name="viewport" content="width=device-width, initial-scale=1">
10
+ <style type="text/css">
11
+ @media screen {
12
+ @font-face {
13
+ font-family: 'Inter';
14
+ font-style: normal;
15
+ font-weight: 400;
16
+ font-display: swap;
17
+ src: local("Inter"), local("Inter-Regular"), url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');
18
+ unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
19
+ }
20
+ }
21
+
22
+ body {
23
+ font-family: "Inter", sans-serif !important;
24
+ }
25
+
26
+ body,
27
+ table,
28
+ td,
29
+ a {
30
+ -ms-text-size-adjust: 100%;
31
+ -webkit-text-size-adjust: 100%;
32
+ }
33
+
34
+ table,
35
+ td {
36
+ mso-table-rspace: 0pt;
37
+ mso-table-lspace: 0pt;
38
+ }
39
+
40
+ img {
41
+ -ms-interpolation-mode: bicubic;
42
+ }
43
+
44
+ a[x-apple-data-detectors] {
45
+ font-family: "inherit" !important;
46
+ font-size: inherit !important;
47
+ font-weight: inherit !important;
48
+ line-height: inherit !important;
49
+ color: inherit !important;
50
+ text-decoration: none !important;
51
+ }
52
+
53
+
54
+ div[style*="margin: 16px 0;"
55
+
56
+ ] {
57
+ margin: 0 !important;
58
+ }
59
+
60
+ body {
61
+ width: 100% !important;
62
+ height: 100% !important;
63
+ padding: 0 !important;
64
+ margin: 0 !important;
65
+ }
66
+
67
+
68
+ table {
69
+ border-collapse: collapse !important;
70
+ }
71
+
72
+ a {
73
+ color: #1a82e2;
74
+ }
75
+
76
+ img {
77
+ height: auto;
78
+ line-height: 100%;
79
+ text-decoration: none;
80
+ border: 0;
81
+ outline: none;
82
+ }
83
+
84
+ .flagText {
85
+ /* font-family: 'Inter'; */
86
+ /* color: #667085 !important; */
87
+ font-size: 16px;
88
+ font-weight: 600;
89
+ line-height: 24px;
90
+ text-align: left;
91
+
92
+ }
93
+ </style>
94
+
95
+ </head>
96
+
97
+ <body style="background-color: #dbe5ea;">
98
+
99
+ <div class="preheader"
100
+ style="display: none; max-width: 0; max-height: 0; overflow: hidden; font-size: 1px; line-height: 1px; color: #fff; opacity: 0;">
101
+ Email Summary (Hidden)
102
+ </div>
103
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" style="padding-left:10px;padding-right:10px">
104
+ <tr>
105
+ <td bgcolor="#dbe5ea" style="padding:32px 10px 0 10px">
106
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;" align="center">
107
+ <tr>
108
+ <td class="o_bg-white o_px-md o_py-md o_sans o_text"
109
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 24px;background-color: #ffffff;padding-left: 18px;padding-right: 24px;padding-top: 24px;padding-bottom: 24px;">
110
+ <p style="margin-top: 0px;margin-bottom: 0px;"><a class="o_text-white"
111
+ href="https://tangoeye.ai/"
112
+ style="text-decoration: none;outline: none;color: #ffffff;"><img
113
+ src="https://devtangoretail-api.tangoeye.ai/logo.png" width="200" height="100"
114
+ alt="SimpleApp"
115
+ style="-ms-interpolation-mode: bicubic;vertical-align: middle;border: 0;line-height: 100%;height: auto;outline: none;text-decoration: none;"></a>
116
+ </p>
117
+ </td>
118
+ </tr>
119
+ <tr>
120
+ <td align="left" bgcolor="#ffffff"
121
+ style="padding-left: 30px;padding-right: 24px; font-size: 14px; line-height: 24px;">
122
+ <p class="o_heading o_mb-xxs"
123
+ style="width: 624px;height: 0px;border: 1px solid #CBD5E1;flex: none;order: 1;flex-grow: 0;">
124
+ </p>
125
+ </td>
126
+ </tr>
127
+ <tr>
128
+ <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
129
+ style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
130
+ <div class="o_col-6s o_sans o_text-md o_text-light o_center"
131
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
132
+ <span class="o_heading o_text-dark o_mb-xxs"
133
+ style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
134
+ Hi,<br />
135
+ Flag has been detected based on the response submitted in a recently completed
136
+ checklist for Store {{data.storeName}}. Review
137
+ the flagged item and take the necessary action from the dashboard.
138
+ </span>
139
+ </div>
140
+ </td>
141
+ </tr>
142
+ <tr>
143
+ <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
144
+ style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
145
+ <div class="o_col-6s o_sans o_text-md o_text-light o_center"
146
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
147
+ <span class="o_heading o_text-dark o_mb-xxs"
148
+ style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
149
+ Details of the checklist are as follows:
150
+ </span>
151
+ </div>
152
+ </td>
153
+ </tr>
154
+ </table>
155
+ </td>
156
+ </tr>
157
+ <tr>
158
+ <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
159
+ <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%"
160
+ style="max-width: 680px;">
161
+ <tr bgcolor="#ffffff" style="border:none;margin-top:0px;">
162
+ <td class="flagText" style="padding-left:30px; line-height: 24px;color:#000000">Store Name :
163
+ </td>
164
+ <td></td>
165
+ <td></td>
166
+ <td class="flagText">{{data.storeName}}</td>
167
+ </tr>
168
+ <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
169
+ <td class="flagText" style="padding-left:30px; line-height: 24px;">Checklist Name :</td>
170
+ <td></td>
171
+ <td></td>
172
+ <td class="flagText">{{data.checklistName}}</td>
173
+ </tr>
174
+
175
+ <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
176
+ <td class="flagText" style="padding-left:30px; line-height: 24px;">No of Flags :</td>
177
+ <td></td>
178
+ <td></td>
179
+ <td class="flagText">{{data.flagCount}}</td>
180
+ </tr>
181
+ <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
182
+ <td class="flagText" style="padding-left:30px; line-height: 24px;">Submitted By :</td>
183
+ <td></td>
184
+ <td></td>
185
+ <td class="flagText">{{data.submittedBy}}</td>
186
+ </tr>
187
+ <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
188
+ <td class="flagText" style="padding-left:30px; line-height: 24px;">Date & Time :</td>
189
+ <td></td>
190
+ <td></td>
191
+ <td class="flagText">{{data.time}}</td>
192
+ </tr>
193
+ </table>
194
+ </td>
195
+ </tr>
196
+ <tr>
197
+ <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
198
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
199
+ <tr>
200
+ <td bgcolor="#ffffff" style="padding: 20px;padding-top:15px;padding-left:30px;">
201
+ <table border="0" cellpadding="0" cellspacing="0">
202
+ <tr>
203
+ <td align="center" bgcolor="#00A3FF" style="border-radius: 6px;height:50px;">
204
+ <a href="{{data.domain}}" target="_blank"
205
+ style="display: inline-block; padding: 16px 36px; font-size: 16px; color: #ffffff; text-decoration: none; border-radius: 6px;">View
206
+ Flags
207
+ </a>
208
+ </td>
209
+ </tr>
210
+ </table>
211
+ </td>
212
+ </tr>
213
+ </table>
214
+ </td>
215
+ </tr>
216
+ <tr>
217
+ <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 32px 10px;">
218
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
219
+ <tr>
220
+ <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
221
+ style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-top:5px">
222
+ <div class="o_col-6s o_sans o_text-md o_text-light o_center"
223
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
224
+ <p>
225
+ If you have any questions or need assistance, please reach out to us at
226
+ support@tangotech.co.in.
227
+ </p>
228
+ </div>
229
+ </td>
230
+ </tr>
231
+ <tr>
232
+ <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
233
+ style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom:15px">
234
+ <div class="o_col-6s o_sans o_text-md o_text-light o_center"
235
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
236
+ <p>
237
+ © Tango Eye. All rights reserved.</p>
238
+ </div>
239
+ </td>
240
+ </tr>
241
+ </table>
242
+ </td>
243
+ </tr>
244
+
245
+ </table>
246
+
247
+ </body>
248
+
249
249
  </html>