diy-template-components 0.1.2 → 0.1.5

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
@@ -463,6 +463,10 @@ function useLinkBuilder(data) {
463
463
  return data.link;
464
464
  }
465
465
 
466
+ if (data?.isExternal) {
467
+ return data.link;
468
+ }
469
+
466
470
  if (!isPreview) {
467
471
  const link = data.link === '/' ? '' : '/' + data.link;
468
472
  return basePath ? `//${basePath}${link}` : null;
@@ -501,8 +505,8 @@ const Button = /*#__PURE__*/React.forwardRef(function Button({
501
505
  return data?.isLink ? /*#__PURE__*/React__default["default"].createElement("a", _extends({
502
506
  ref: ref,
503
507
  href: link,
504
- target: data?.isExistingLink === false ? '_blank' : null,
505
- rel: data?.isExistingLink === false ? 'nofollow noopener' : null,
508
+ target: data?.isExternal ? '_blank' : null,
509
+ rel: data?.isExternal ? 'nofollow noopener' : null,
506
510
  className: (active ? classes.active : '') + ' ' + classes[type] + ' ' + classes[size] + ' ' + classes.anchorClass,
507
511
  style: styling
508
512
  }, elementProps), data?.value) : /*#__PURE__*/React__default["default"].createElement("button", _extends({
@@ -1001,7 +1005,7 @@ function Dropdown(props) {
1001
1005
  link: dt.slug,
1002
1006
  isLink: true,
1003
1007
  value: dt.title,
1004
- isExternal: false
1008
+ isExternal: 0
1005
1009
  },
1006
1010
  fluid: true,
1007
1011
  active: dt.active,
@@ -1033,7 +1037,7 @@ function OptionList({
1033
1037
  link: dt.slug,
1034
1038
  active: dt.active,
1035
1039
  isLink: true,
1036
- isExistingLink: false
1040
+ isExternal: 0
1037
1041
  };
1038
1042
  });
1039
1043
  };
@@ -1084,7 +1088,7 @@ function OptionList({
1084
1088
  link: headerData?.appLink,
1085
1089
  isLink: 1,
1086
1090
  value: 'Download App',
1087
- isExistingLink: false
1091
+ isExternal: 1
1088
1092
  },
1089
1093
  type: 'primary',
1090
1094
  size: 'small',
@@ -1098,7 +1102,7 @@ function OptionList({
1098
1102
  link: headerData?.loginCtaLink,
1099
1103
  isLink: 1,
1100
1104
  value: 'Login',
1101
- isExistingLink: false
1105
+ isExternal: 1
1102
1106
  },
1103
1107
  type: 'primary',
1104
1108
  size: isMobile ? 'small' : 'medium',
@@ -1225,7 +1229,7 @@ function MobileHeader({
1225
1229
  src: phoneIos,
1226
1230
  alt: "iosUrl"
1227
1231
  }),
1228
- isExistingLink: false
1232
+ isExternal: 1
1229
1233
  },
1230
1234
  type: '',
1231
1235
  size: 'small',
@@ -1247,7 +1251,7 @@ function MobileHeader({
1247
1251
  src: phoneAndroid,
1248
1252
  alt: "iosUrl"
1249
1253
  }),
1250
- isExistingLink: false
1254
+ isExternal: 1
1251
1255
  },
1252
1256
  type: '',
1253
1257
  size: 'small',
@@ -1267,7 +1271,7 @@ function MobileHeader({
1267
1271
  link: header?.iosUrl,
1268
1272
  isLink: 1,
1269
1273
  value: 'Download App',
1270
- isExistingLink: false
1274
+ isExternal: 1
1271
1275
  },
1272
1276
  type: 'primary',
1273
1277
  size: 'small',
@@ -1280,7 +1284,7 @@ function MobileHeader({
1280
1284
  link: header?.androidURL,
1281
1285
  isLink: 1,
1282
1286
  value: 'Download App',
1283
- isExistingLink: false
1287
+ isExternal: 1
1284
1288
  },
1285
1289
  type: 'primary',
1286
1290
  size: 'small',
@@ -1297,7 +1301,7 @@ function MobileHeader({
1297
1301
  link: header?.appLink,
1298
1302
  isLink: 1,
1299
1303
  value: 'Download App',
1300
- isExistingLink: false
1304
+ isExternal: 1
1301
1305
  },
1302
1306
  type: 'primary',
1303
1307
  size: 'small',
@@ -3149,7 +3153,7 @@ async function postApiCall(baseURLs, data) {
3149
3153
  baseURL: baseURLs?.API_DIY_URL,
3150
3154
  url: '/v1/section/form',
3151
3155
  headers: {
3152
- 'website-url': 'http://' + location.host + location.pathname
3156
+ 'website-url': 'https://' + location.host + location.pathname
3153
3157
  },
3154
3158
  data
3155
3159
  });
@@ -3163,6 +3167,30 @@ async function postApiCall(baseURLs, data) {
3163
3167
  }
3164
3168
  }
3165
3169
  }
3170
+ async function postApiCallForm(baseURLs, data, extraProps) {
3171
+ if (baseURLs) {
3172
+ try {
3173
+ let res = await axios__default["default"]({
3174
+ method: 'POST',
3175
+ baseURL: baseURLs?.API_DIY_URL,
3176
+ url: '/v1/diy/landingPages/form',
3177
+ headers: {
3178
+ 'website-url': 'https://' + location.host + location.pathname
3179
+ },
3180
+ data
3181
+ }).then(res => {
3182
+ if (extraProps && extraProps.formSubmitSuccess) {
3183
+ extraProps.formSubmitSuccess();
3184
+ }
3185
+
3186
+ return res.data;
3187
+ });
3188
+ } catch (err) {
3189
+ console.log(err);
3190
+ return;
3191
+ }
3192
+ }
3193
+ }
3166
3194
 
3167
3195
  const inputStyles = createUseStyles(theme => ({
3168
3196
  inputField: {
@@ -6631,7 +6659,9 @@ const useWebinarPromotionPage = createUseStyles(theme => {
6631
6659
  width: '645px',
6632
6660
  backgroundColor: '#f4f9ff',
6633
6661
  display: 'flex',
6634
- flexDirection: 'column'
6662
+ flexDirection: 'column',
6663
+ justifyContent: 'center',
6664
+ paddingTop: '20px'
6635
6665
  },
6636
6666
  bannerContainer: {
6637
6667
  background: '#EB5757',
@@ -6759,6 +6789,14 @@ const SingleVideoSlide$1 = props => {
6759
6789
  }
6760
6790
  };
6761
6791
 
6792
+ const discount = ({
6793
+ price,
6794
+ discount
6795
+ }) => {
6796
+ console.log('discountxx', props.data.price, props.data.discount);
6797
+ return (price - discount) / price * 100;
6798
+ };
6799
+
6762
6800
  const classes = useWebinarPromotionPage();
6763
6801
  return /*#__PURE__*/React__default["default"].createElement("div", {
6764
6802
  className: classes.videoCarouselContainer
@@ -6768,9 +6806,9 @@ const SingleVideoSlide$1 = props => {
6768
6806
  className: classes.iframeSuperContainer
6769
6807
  }, /*#__PURE__*/React__default["default"].createElement("div", {
6770
6808
  className: classes.videoDetails
6771
- }, /*#__PURE__*/React__default["default"].createElement("h3", {
6809
+ }, data?.isPaid ? /*#__PURE__*/React__default["default"].createElement("h3", {
6772
6810
  className: classes.bannerContainer
6773
- }, data.offerPriceValidFor <= 0 ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, "Hurry up! Offer for limited period only") : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, "Hurry up! Offer is left for ", data.offerPriceValidFor, " users now")), /*#__PURE__*/React__default["default"].createElement("h3", {
6811
+ }, data.offerPriceValidFor <= 0 ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, "Hurry up! Offer for limited period only") : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, "Hurry up! Offer is left for ", data.offerPriceValidFor, " users now")) : null, /*#__PURE__*/React__default["default"].createElement("h3", {
6774
6812
  ref: data?.videoTextHeading?.refSetter,
6775
6813
  className: classes.videoDetailsHeading,
6776
6814
  dangerouslySetInnerHTML: {
@@ -6800,14 +6838,14 @@ const SingleVideoSlide$1 = props => {
6800
6838
  }
6801
6839
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
6802
6840
  className: classes.courseViewContainer
6803
- }, /*#__PURE__*/React__default["default"].createElement("p", {
6841
+ }, data.isPaid ? /*#__PURE__*/React__default["default"].createElement("p", {
6804
6842
  className: classes.offerText
6805
6843
  }, "Offer Ends in", ' ', /*#__PURE__*/React__default["default"].createElement("span", {
6806
6844
  className: classes.courseDetailTime
6807
6845
  }, /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
6808
6846
  renderer: renderer,
6809
- date: data.endDate
6810
- }))), /*#__PURE__*/React__default["default"].createElement("div", {
6847
+ date: data.offerPriceEndDate
6848
+ }))) : null, /*#__PURE__*/React__default["default"].createElement("div", {
6811
6849
  ref: data?.videoFrame?.refSetter,
6812
6850
  className: classes.iframeContainer
6813
6851
  }, /*#__PURE__*/React__default["default"].createElement(VideoPlayer, {
@@ -6816,19 +6854,19 @@ const SingleVideoSlide$1 = props => {
6816
6854
  videoUrl: data.thumbnail
6817
6855
  })), /*#__PURE__*/React__default["default"].createElement("div", {
6818
6856
  className: classes.bottomContainer
6819
- }, data.isPaid && /*#__PURE__*/React__default["default"].createElement("div", {
6857
+ }, data.isPaid ? /*#__PURE__*/React__default["default"].createElement("div", {
6820
6858
  className: classes.priceContainer
6821
6859
  }, /*#__PURE__*/React__default["default"].createElement("div", {
6822
6860
  className: classes.offerPrice
6823
- }, data.offerPrice), /*#__PURE__*/React__default["default"].createElement("p", {
6861
+ }, data?.discount), /*#__PURE__*/React__default["default"].createElement("p", {
6824
6862
  style: {
6825
6863
  fontSize: '20px'
6826
6864
  }
6827
6865
  }, /*#__PURE__*/React__default["default"].createElement("span", {
6828
6866
  className: classes.originalPrice
6829
- }, data.regularPrice), ' ', /*#__PURE__*/React__default["default"].createElement("span", {
6867
+ }, data?.price), ' ', /*#__PURE__*/React__default["default"].createElement("span", {
6830
6868
  className: classes.offerDiscount
6831
- }, "50% OFF"))), /*#__PURE__*/React__default["default"].createElement("div", {
6869
+ }, `${data && discount(data)}%`))) : null, /*#__PURE__*/React__default["default"].createElement("div", {
6832
6870
  className: classes.webinarButtonContainer
6833
6871
  }, /*#__PURE__*/React__default["default"].createElement(Button, {
6834
6872
  style: {
@@ -6861,7 +6899,6 @@ function CoursePromotionPage$1({
6861
6899
  const classes = useWebinarPromotionPage({
6862
6900
  containerWidth
6863
6901
  });
6864
- console.log(sectionData);
6865
6902
  return /*#__PURE__*/React__default["default"].createElement("div", {
6866
6903
  className: classes.webinarSuperContainer
6867
6904
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -7400,7 +7437,8 @@ const FormPage = ({
7400
7437
  const classes = useFormPageStyles();
7401
7438
  const metadata = sectionData?.components?.[0]?.metadata || formPageMock;
7402
7439
  const {
7403
- _id
7440
+ _id,
7441
+ baseURLs
7404
7442
  } = React.useContext(PageContext);
7405
7443
 
7406
7444
  const handleSubmit = async e => {
@@ -7414,18 +7452,14 @@ const FormPage = ({
7414
7452
  questionType: value.questionType,
7415
7453
  solutionArray: value.solutionArray
7416
7454
  });
7417
- } // page id - section id
7418
-
7455
+ }
7419
7456
 
7420
- axios__default["default"].post(`https://diy.clp.staging.classplus.co/v1/diy/landingPages/form`, {
7421
- paylaod: formResponse,
7457
+ const data = {
7422
7458
  sectionId: sectionData?.components?.[0]?._id || null,
7423
- landingPageId: _id || null
7424
- }).then(() => {
7425
- if (extraProps && extraProps.formSubmitSuccess) {
7426
- extraProps.formSubmitSuccess();
7427
- }
7428
- });
7459
+ landingPageId: _id || null,
7460
+ payload: formResponse
7461
+ };
7462
+ postApiCallForm(baseURLs, data, extraProps);
7429
7463
  };
7430
7464
 
7431
7465
  return /*#__PURE__*/React__default["default"].createElement("section", {
@@ -7587,7 +7621,8 @@ function PageRenderer({
7587
7621
  sections,
7588
7622
  header,
7589
7623
  footer,
7590
- validations = {}
7624
+ validations = {},
7625
+ _id
7591
7626
  },
7592
7627
  isMobile = false,
7593
7628
  isLandingPages = false,
@@ -7621,8 +7656,9 @@ function PageRenderer({
7621
7656
  validations,
7622
7657
  isTutorWebsite,
7623
7658
  extraProps,
7624
- hideLogin
7625
- }), [isMobile, isLandingPages, layout, baseURLs, hashToken, isPreview, isEdit, templateId, navList, isMasterTemplate, basePath, validations, isTutorWebsite, extraProps, hideLogin]);
7659
+ hideLogin,
7660
+ _id
7661
+ }), [isMobile, isLandingPages, layout, baseURLs, hashToken, isPreview, isEdit, templateId, navList, isMasterTemplate, basePath, validations, isTutorWebsite, extraProps, hideLogin, _id]);
7626
7662
  const Wrapper = SectionWrapper || React.Fragment;
7627
7663
  return /*#__PURE__*/React__default["default"].createElement(ThemeProvider, {
7628
7664
  theme: theme