diy-template-components 2.0.67 → 2.0.68
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/build/index.es.js +177 -14
- package/build/index.es.js.map +1 -1
- package/build/index.js +177 -14
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -242,6 +242,51 @@ const useSectionStyles$a = createUseStyles(theme => ({
|
|
|
242
242
|
justifyContent: 'center',
|
|
243
243
|
width: '10%'
|
|
244
244
|
},
|
|
245
|
+
offerPrice: {
|
|
246
|
+
fontSize: theme.typography.fontSize.h4,
|
|
247
|
+
fontWeight: '700'
|
|
248
|
+
},
|
|
249
|
+
originalPrice: {
|
|
250
|
+
textDecoration: 'line-through',
|
|
251
|
+
color: 'rgba(51, 51, 51, 0.6)'
|
|
252
|
+
},
|
|
253
|
+
offerDiscount: {
|
|
254
|
+
color: '#08BD80',
|
|
255
|
+
fontWeight: '600'
|
|
256
|
+
},
|
|
257
|
+
rightNav: {
|
|
258
|
+
marginRight: '120px',
|
|
259
|
+
display: 'flex'
|
|
260
|
+
},
|
|
261
|
+
priceBox: {
|
|
262
|
+
marginRight: '16px'
|
|
263
|
+
},
|
|
264
|
+
offerBox: {
|
|
265
|
+
marginRight: '24px',
|
|
266
|
+
display: 'flex',
|
|
267
|
+
flexDirection: 'column',
|
|
268
|
+
backgroundColor: 'rgba(244, 249, 253, 1)',
|
|
269
|
+
justifyContent: 'space-between',
|
|
270
|
+
borderRadius: '8px'
|
|
271
|
+
},
|
|
272
|
+
offerBoxText: {
|
|
273
|
+
color: 'rgba(51, 51, 51, 0.6)',
|
|
274
|
+
fontWeight: '600',
|
|
275
|
+
fontSize: '10px',
|
|
276
|
+
padding: '3px 12px 3px, 12px',
|
|
277
|
+
padding: '4px',
|
|
278
|
+
textAlign: 'center',
|
|
279
|
+
marginTop: '4px'
|
|
280
|
+
},
|
|
281
|
+
offerBoxCountDown: {
|
|
282
|
+
backgroundColor: 'rgba(235, 87, 87, 0.1)',
|
|
283
|
+
border: '0px 1px 1px 1px',
|
|
284
|
+
borderRadius: '8px',
|
|
285
|
+
color: '#EB5757',
|
|
286
|
+
fontSize: '16px',
|
|
287
|
+
fontWeight: '700',
|
|
288
|
+
padding: '6px 16px'
|
|
289
|
+
},
|
|
245
290
|
'@media screen and (max-width: 767px)': {
|
|
246
291
|
optionsContainer: {
|
|
247
292
|
flexDirection: 'column',
|
|
@@ -1321,8 +1366,17 @@ function DesktopHeader({
|
|
|
1321
1366
|
navData,
|
|
1322
1367
|
isTutorWebsite,
|
|
1323
1368
|
isLandingPage = false,
|
|
1324
|
-
onDownloadAppTriggered
|
|
1369
|
+
onDownloadAppTriggered,
|
|
1370
|
+
extraProps
|
|
1325
1371
|
}) {
|
|
1372
|
+
let mockHeader = {
|
|
1373
|
+
isOfferActive: true,
|
|
1374
|
+
effectivePrice: 0.51,
|
|
1375
|
+
price: 1,
|
|
1376
|
+
discount: 0.5,
|
|
1377
|
+
endDate: Date.now() + 24 * 60 * 60 * 1000,
|
|
1378
|
+
offerPriceValidFor: 20
|
|
1379
|
+
};
|
|
1326
1380
|
const {
|
|
1327
1381
|
isFixed = true
|
|
1328
1382
|
} = header;
|
|
@@ -1358,13 +1412,113 @@ function DesktopHeader({
|
|
|
1358
1412
|
|
|
1359
1413
|
// console.log(header, 'sakshat header desktop');
|
|
1360
1414
|
|
|
1415
|
+
const renderer = ({
|
|
1416
|
+
days,
|
|
1417
|
+
hours,
|
|
1418
|
+
minutes,
|
|
1419
|
+
seconds
|
|
1420
|
+
}) => {
|
|
1421
|
+
if (days === 0 && hours < 24) {
|
|
1422
|
+
return /*#__PURE__*/React__default["default"].createElement("span", null, hours, "h : ", minutes, "m : ", seconds, "s");
|
|
1423
|
+
} else {
|
|
1424
|
+
let given = moment__default["default"](mockHeader.endDate);
|
|
1425
|
+
let current = moment__default["default"]().startOf('day');
|
|
1426
|
+
return /*#__PURE__*/React__default["default"].createElement("span", null, Math.floor(moment__default["default"].duration(given.diff(current)).asDays()), " ", 'Days');
|
|
1427
|
+
}
|
|
1428
|
+
};
|
|
1429
|
+
const checkIfOfferIsValid = (endDate = null) => moment__default["default"]().diff(moment__default["default"](endDate || 0)) < 0;
|
|
1430
|
+
const checkForShowDiscount = (endDate = null, offerPriceValidFor = null, discount = 0) => {
|
|
1431
|
+
let conversions = extraProps?.conversions || 0;
|
|
1432
|
+
if (endDate === null || checkIfOfferIsValid()) {
|
|
1433
|
+
if (discount > 0 && offerPriceValidFor === null) {
|
|
1434
|
+
return true;
|
|
1435
|
+
} else if (discount > 0 && offerPriceValidFor !== null && offerPriceValidFor - conversions <= 0) {
|
|
1436
|
+
return false;
|
|
1437
|
+
}
|
|
1438
|
+
} else if (offerPriceValidFor >= null && discount) {
|
|
1439
|
+
if (offerPriceValidFor <= conversions) {
|
|
1440
|
+
return false;
|
|
1441
|
+
}
|
|
1442
|
+
if (offerPriceValidFor - conversions < 0) {
|
|
1443
|
+
return false;
|
|
1444
|
+
} else {
|
|
1445
|
+
return true;
|
|
1446
|
+
}
|
|
1447
|
+
}
|
|
1448
|
+
if (discount > 0) {
|
|
1449
|
+
return true;
|
|
1450
|
+
}
|
|
1451
|
+
};
|
|
1452
|
+
const getDiscount = (price, discount) => {
|
|
1453
|
+
return (discount / price * 100).toFixed(2);
|
|
1454
|
+
};
|
|
1455
|
+
const OfferDetailsJSX = () => {
|
|
1456
|
+
let conversions = extraProps?.conversions || 0;
|
|
1457
|
+
if (checkForShowDiscount(mockHeader?.endDate, mockHeader?.offerPriceValidFor, mockHeader?.discount) && mockHeader?.endDate ? checkIfOfferIsValid(mockHeader?.endDate) : true) {
|
|
1458
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1459
|
+
className: classes.rightNav
|
|
1460
|
+
}, mockHeader?.isOfferActive && (mockHeader?.offerPriceValidFor ? mockHeader.offerPriceValidFor - conversions > 0 : true) ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1461
|
+
className: classes.offerBox
|
|
1462
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1463
|
+
className: classes.offerBoxText
|
|
1464
|
+
}, "Offer Ends In"), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1465
|
+
className: classes.offerBoxCountDown
|
|
1466
|
+
}, /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
|
|
1467
|
+
renderer: renderer,
|
|
1468
|
+
date: mockHeader?.endDate
|
|
1469
|
+
}))) : null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1470
|
+
className: classes.priceBox
|
|
1471
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
1472
|
+
className: classes.offerDiscount
|
|
1473
|
+
}, `${getDiscount(mockHeader?.price, mockHeader?.discount)}%`, "\xA0OFF"), "\xA0\xA0", /*#__PURE__*/React__default["default"].createElement("span", {
|
|
1474
|
+
className: classes.originalPrice
|
|
1475
|
+
}, mockHeader?.price), ' '), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1476
|
+
style: {
|
|
1477
|
+
textAlign: 'end'
|
|
1478
|
+
}
|
|
1479
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
1480
|
+
className: classes.offerPrice
|
|
1481
|
+
}, mockHeader?.effectivePrice), ' ')), /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
1482
|
+
data: {
|
|
1483
|
+
// link: 'headerData?.loginCtaLink',
|
|
1484
|
+
// isLink: 1,
|
|
1485
|
+
value: 'BUY NOW'
|
|
1486
|
+
// isExternal: 1
|
|
1487
|
+
},
|
|
1488
|
+
|
|
1489
|
+
onClick: extraProps?.courseBuyNow,
|
|
1490
|
+
type: 'primary',
|
|
1491
|
+
size: 'small',
|
|
1492
|
+
target: null,
|
|
1493
|
+
name: "button",
|
|
1494
|
+
rel: null
|
|
1495
|
+
// styling={isMobile ? { margin: '0 40px' } : {}}
|
|
1496
|
+
}));
|
|
1497
|
+
} else return /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
1498
|
+
data: {
|
|
1499
|
+
// link: 'headerData?.loginCtaLink',
|
|
1500
|
+
// isLink: 1,
|
|
1501
|
+
value: 'BUY NOW'
|
|
1502
|
+
// isExternal: 1
|
|
1503
|
+
},
|
|
1504
|
+
|
|
1505
|
+
onClick: extraProps?.courseBuyNow,
|
|
1506
|
+
type: 'primary',
|
|
1507
|
+
size: 'medium',
|
|
1508
|
+
target: null,
|
|
1509
|
+
name: "button",
|
|
1510
|
+
rel: null
|
|
1511
|
+
// styling={isMobile ? { margin: '0 40px' } : {}}
|
|
1512
|
+
});
|
|
1513
|
+
};
|
|
1514
|
+
|
|
1361
1515
|
return /*#__PURE__*/React__default["default"].createElement("nav", {
|
|
1362
1516
|
className: classes.section
|
|
1363
1517
|
}, !(header?.websiteLogo === DEFAULT_HEADER_IMAGE_LP && isCustomWebsite) ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1364
1518
|
className: classes.headerSection
|
|
1365
1519
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1366
1520
|
className: classes.headerContainer
|
|
1367
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1521
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1368
1522
|
className: classes.imageDiv
|
|
1369
1523
|
}, header?.websiteLogo ? /*#__PURE__*/React__default["default"].createElement("a", {
|
|
1370
1524
|
href: logoUrl,
|
|
@@ -1392,7 +1546,7 @@ function DesktopHeader({
|
|
|
1392
1546
|
moreContent: moreContentFn(),
|
|
1393
1547
|
isTutorWebsite: isTutorWebsite,
|
|
1394
1548
|
onDownloadAppTriggered: onDownloadAppTriggered
|
|
1395
|
-
}))) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1549
|
+
})), OfferDetailsJSX())) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1396
1550
|
style: {
|
|
1397
1551
|
paddingTop: '30px'
|
|
1398
1552
|
}
|
|
@@ -1586,13 +1740,15 @@ function Header({
|
|
|
1586
1740
|
header: data,
|
|
1587
1741
|
isTutorWebsite: isTutorWebsite,
|
|
1588
1742
|
isLandingPage: isLandingPage,
|
|
1589
|
-
onDownloadAppTriggered: extraProps?.DownloadAppButtonTriggered
|
|
1743
|
+
onDownloadAppTriggered: extraProps?.DownloadAppButtonTriggered,
|
|
1744
|
+
extraProps: extraProps
|
|
1590
1745
|
}) : /*#__PURE__*/React__default["default"].createElement(DesktopHeader, {
|
|
1591
1746
|
navData: filterHiddenNavs(),
|
|
1592
1747
|
header: data,
|
|
1593
1748
|
isTutorWebsite: isTutorWebsite,
|
|
1594
1749
|
isLandingPage: isLandingPage,
|
|
1595
|
-
onDownloadAppTriggered: extraProps?.DownloadAppButtonTriggered
|
|
1750
|
+
onDownloadAppTriggered: extraProps?.DownloadAppButtonTriggered,
|
|
1751
|
+
extraProps: extraProps
|
|
1596
1752
|
});
|
|
1597
1753
|
}
|
|
1598
1754
|
|
|
@@ -10222,21 +10378,28 @@ const TimerAndCall = ({
|
|
|
10222
10378
|
text: "Secs"
|
|
10223
10379
|
}));
|
|
10224
10380
|
};
|
|
10381
|
+
const CountDownJSX = offerPriceValidFor => {
|
|
10382
|
+
let conversions = extraProps?.conversions || 0;
|
|
10383
|
+
if (offerPriceValidFor && offerPriceValidFor - conversions <= 0) {
|
|
10384
|
+
return null;
|
|
10385
|
+
}
|
|
10386
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10387
|
+
className: classes.offerWrapper
|
|
10388
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10389
|
+
className: classes.offerEndsTitle
|
|
10390
|
+
}, "Offer ends in"), /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
|
|
10391
|
+
renderer: renderer,
|
|
10392
|
+
date: nodeData.offerCounter?.metadata?.endDate,
|
|
10393
|
+
daysInHours: true
|
|
10394
|
+
}));
|
|
10395
|
+
};
|
|
10225
10396
|
return /*#__PURE__*/React__default["default"].createElement("section", {
|
|
10226
10397
|
className: classes.timerAndCallSection
|
|
10227
10398
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10228
10399
|
className: classes.timerAndCallContainer
|
|
10229
10400
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10230
10401
|
className: classes.timerAndCallBox
|
|
10231
|
-
}, nodeData?.showOffer?.metadata?.value && nodeData.offerCounter?.metadata?.isOfferActive ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10232
|
-
className: classes.offerWrapper
|
|
10233
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10234
|
-
className: classes.offerEndsTitle
|
|
10235
|
-
}, "Offer ends in"), /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
|
|
10236
|
-
renderer: renderer,
|
|
10237
|
-
date: nodeData.offerCounter?.metadata?.endDate,
|
|
10238
|
-
daysInHours: true
|
|
10239
|
-
})) : null, nodeData?.title?.metadata?.value ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10402
|
+
}, nodeData?.showOffer?.metadata?.value && nodeData.offerCounter?.metadata?.isOfferActive ? CountDownJSX(nodeData.offerCounter?.metadata?.offerPriceValidFor) : null, nodeData?.title?.metadata?.value ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10240
10403
|
className: classes.title
|
|
10241
10404
|
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
10242
10405
|
ref: nodeData?.heading?.refSetter,
|