diy-template-components 2.0.68 → 2.0.70

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.js CHANGED
@@ -287,6 +287,31 @@ const useSectionStyles$a = createUseStyles(theme => ({
287
287
  fontWeight: '700',
288
288
  padding: '6px 16px'
289
289
  },
290
+ BottomSheetContainer: {
291
+ display: 'flex',
292
+ flexDirection: 'column',
293
+ borderTop: '1px solid #e5e5e5',
294
+ background: '#021927',
295
+ color: '#FFFFFF'
296
+ },
297
+ BottomSheetPriceContainer: {
298
+ display: 'flex',
299
+ justifyContent: 'space-between',
300
+ padding: '16px 16px 24px'
301
+ },
302
+ BottomSheetOfferContainer: {
303
+ padding: '12px 0 ',
304
+ padding: '16px 16px 24px',
305
+ border: '1px solid rgba(0, 0, 0, 1)'
306
+ },
307
+ offerBottom: {
308
+ display: 'flex',
309
+ justifyContent: 'space-between'
310
+ },
311
+ smallText: {
312
+ fontWeight: '400',
313
+ fontSize: '8px'
314
+ },
290
315
  '@media screen and (max-width: 767px)': {
291
316
  optionsContainer: {
292
317
  flexDirection: 'column',
@@ -322,6 +347,24 @@ const useSectionStyles$a = createUseStyles(theme => ({
322
347
  borderBottom: '1px solid #F3F3F3',
323
348
  width: '100%'
324
349
  }
350
+ },
351
+ offerPrice: {
352
+ color: '#FFFFFF',
353
+ fontSize: '18px'
354
+ },
355
+ offerDiscount: {
356
+ color: 'rgba(8, 189, 128, 1)'
357
+ },
358
+ originalPrice: {
359
+ color: '#FFFFFF',
360
+ textDecoration: 'line-through'
361
+ },
362
+ BottomSheetContainer: {
363
+ position: 'fixed',
364
+ bottom: 0,
365
+ left: 0,
366
+ width: '100%',
367
+ zIndex: '2'
325
368
  }
326
369
  },
327
370
  mobileAppNameClass: {
@@ -1553,13 +1596,24 @@ function DesktopHeader({
1553
1596
  }));
1554
1597
  }
1555
1598
 
1599
+ var timer = "data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.99996%2015.1667C4.50663%2015.1667%201.66663%2012.3267%201.66663%208.83333C1.66663%205.34%204.50663%202.5%207.99996%202.5C11.4933%202.5%2014.3333%205.34%2014.3333%208.83333C14.3333%2012.3267%2011.4933%2015.1667%207.99996%2015.1667ZM7.99996%203.5C5.05996%203.5%202.66663%205.89333%202.66663%208.83333C2.66663%2011.7733%205.05996%2014.1667%207.99996%2014.1667C10.94%2014.1667%2013.3333%2011.7733%2013.3333%208.83333C13.3333%205.89333%2010.94%203.5%207.99996%203.5Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M8%209.16671C7.72667%209.16671%207.5%208.94004%207.5%208.66671V5.33337C7.5%205.06004%207.72667%204.83337%208%204.83337C8.27333%204.83337%208.5%205.06004%208.5%205.33337V8.66671C8.5%208.94004%208.27333%209.16671%208%209.16671Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M10%201.83337H6C5.72667%201.83337%205.5%201.60671%205.5%201.33337C5.5%201.06004%205.72667%200.833374%206%200.833374H10C10.2733%200.833374%2010.5%201.06004%2010.5%201.33337C10.5%201.60671%2010.2733%201.83337%2010%201.83337Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E";
1600
+
1556
1601
  function MobileHeader({
1557
1602
  header,
1558
1603
  navData,
1559
1604
  isTutorWebsite,
1560
1605
  isLandingPage = false,
1561
- onDownloadAppTriggered
1606
+ onDownloadAppTriggered,
1607
+ extraProps
1562
1608
  }) {
1609
+ let mockHeader = {
1610
+ isOfferActive: true,
1611
+ effectivePrice: 0.51,
1612
+ price: 1,
1613
+ discount: 0.5,
1614
+ endDate: Date.now() + 24 * 60 * 60 * 1000,
1615
+ offerPriceValidFor: 20
1616
+ };
1563
1617
  const {
1564
1618
  isCustomWebsite,
1565
1619
  countryCode
@@ -1595,6 +1649,94 @@ function MobileHeader({
1595
1649
 
1596
1650
  // console.log(header, 'sakshat header mobile');
1597
1651
 
1652
+ const getDiscount = (price, discount) => {
1653
+ return (discount / price * 100).toFixed(2);
1654
+ };
1655
+ const renderer = ({
1656
+ days,
1657
+ hours,
1658
+ minutes,
1659
+ seconds
1660
+ }) => {
1661
+ if (days === 0 && hours < 24) {
1662
+ return /*#__PURE__*/React__default["default"].createElement("div", {
1663
+ className: classes.offerBottom
1664
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, "Offer ends in"), /*#__PURE__*/React__default["default"].createElement("div", {
1665
+ style: {
1666
+ display: 'flex',
1667
+ gap: '5px'
1668
+ }
1669
+ }, /*#__PURE__*/React__default["default"].createElement("img", {
1670
+ src: timer,
1671
+ alt: ""
1672
+ }), ' ', /*#__PURE__*/React__default["default"].createElement("div", null, hours, " ", /*#__PURE__*/React__default["default"].createElement("span", {
1673
+ className: classes.smallText
1674
+ }, "hrs"), " : ", minutes, ' ', /*#__PURE__*/React__default["default"].createElement("span", {
1675
+ className: classes.smallText
1676
+ }, "Mins"), " : ", seconds, ' ', /*#__PURE__*/React__default["default"].createElement("span", {
1677
+ className: classes.smallText
1678
+ }, "Secs"))));
1679
+ } else {
1680
+ let given = moment__default["default"](mockHeader.endDate);
1681
+ let current = moment__default["default"]().startOf('day');
1682
+ return /*#__PURE__*/React__default["default"].createElement("div", {
1683
+ className: classes.offerBottom
1684
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, "This offer is only valid for"), /*#__PURE__*/React__default["default"].createElement("div", {
1685
+ style: {
1686
+ display: 'flex',
1687
+ gap: '5px'
1688
+ }
1689
+ }, /*#__PURE__*/React__default["default"].createElement("img", {
1690
+ src: timer,
1691
+ alt: ""
1692
+ }), ' ', /*#__PURE__*/React__default["default"].createElement("div", null, Math.floor(moment__default["default"].duration(given.diff(current)).asDays()), /*#__PURE__*/React__default["default"].createElement("span", {
1693
+ className: classes.smallText
1694
+ }, "\xA0\xA0Days"))));
1695
+ }
1696
+ };
1697
+ const OfferDetailsJSX = () => {
1698
+ return /*#__PURE__*/React__default["default"].createElement("div", {
1699
+ className: classes.BottomSheetOfferContainer
1700
+ }, ' ', /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
1701
+ renderer: renderer,
1702
+ date: mockHeader?.endDate
1703
+ }));
1704
+ };
1705
+ const BottomSheetJSX = () => {
1706
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
1707
+ className: classes.BottomSheetContainer
1708
+ }, OfferDetailsJSX(), /*#__PURE__*/React__default["default"].createElement("div", {
1709
+ className: classes.BottomSheetPriceContainer
1710
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
1711
+ className: classes.BottomSheetPrice
1712
+ }, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("div", {
1713
+ style: {
1714
+ textAlign: 'start'
1715
+ }
1716
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
1717
+ className: classes.offerPrice
1718
+ }, mockHeader?.effectivePrice), ' '), /*#__PURE__*/React__default["default"].createElement("span", {
1719
+ className: classes.originalPrice
1720
+ }, mockHeader?.price), ' ', /*#__PURE__*/React__default["default"].createElement("span", {
1721
+ className: classes.offerDiscount
1722
+ }, `${getDiscount(mockHeader?.price, mockHeader?.discount)}%`, "\xA0OFF"), "\xA0\xA0")), /*#__PURE__*/React__default["default"].createElement(Button, {
1723
+ data: {
1724
+ // link: 'headerData?.loginCtaLink',
1725
+ // isLink: 1,
1726
+ value: 'BUY NOW'
1727
+ // isExternal: 1
1728
+ },
1729
+
1730
+ onClick: extraProps?.courseBuyNow,
1731
+ type: 'primary',
1732
+ size: 'medium',
1733
+ target: null,
1734
+ name: "button",
1735
+ rel: null
1736
+ // styling={isMobile ? { margin: '0 40px' } : {}}
1737
+ }))));
1738
+ };
1739
+
1598
1740
  if (isTutorWebsite) {
1599
1741
  if (isAndroidDelisted && apkURL) {
1600
1742
  downloadLink = /*#__PURE__*/React__default["default"].createElement(Button, {
@@ -1667,7 +1809,7 @@ function MobileHeader({
1667
1809
  downloadLink = null;
1668
1810
  }
1669
1811
  }
1670
- return /*#__PURE__*/React__default["default"].createElement("nav", {
1812
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("nav", {
1671
1813
  ref: navEl,
1672
1814
  className: classes.section
1673
1815
  }, !(header?.websiteLogo === DEFAULT_HEADER_IMAGE_LP && isCustomWebsite) ? /*#__PURE__*/React__default["default"].createElement("div", {
@@ -1700,7 +1842,7 @@ function MobileHeader({
1700
1842
  order: 1
1701
1843
  }))) : null, isTutorWebsite && header?.appName ? /*#__PURE__*/React__default["default"].createElement("p", {
1702
1844
  className: classes.mobileAppNameClass
1703
- }, " ", header?.appName) : null), downloadLink), sideMenu ? /*#__PURE__*/React__default["default"].createElement("div", {
1845
+ }, ' ', header?.appName) : null), downloadLink), sideMenu ? /*#__PURE__*/React__default["default"].createElement("div", {
1704
1846
  className: classes.mobileMenu
1705
1847
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1706
1848
  className: classes.backdrop,
@@ -1720,7 +1862,7 @@ function MobileHeader({
1720
1862
  style: {
1721
1863
  paddingTop: '30px'
1722
1864
  }
1723
- }));
1865
+ })), /*#__PURE__*/React__default["default"].createElement(BottomSheetJSX, null));
1724
1866
  }
1725
1867
 
1726
1868
  function Header({