pb-sxp-ui 1.3.1 → 1.3.3

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.
Files changed (64) hide show
  1. package/dist/index.cjs +238 -184
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.js +238 -184
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.cjs +3 -3
  7. package/dist/index.min.cjs.map +1 -1
  8. package/dist/index.min.js +3 -3
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/pb-ui.js +238 -184
  11. package/dist/pb-ui.js.map +1 -1
  12. package/dist/pb-ui.min.js +3 -3
  13. package/dist/pb-ui.min.js.map +1 -1
  14. package/es/core/components/SxpPageRender/Modal/index.js +3 -3
  15. package/es/core/components/SxpPageRender/RenderCard.d.ts +3 -3
  16. package/es/core/components/SxpPageRender/RenderCard.js +17 -27
  17. package/es/core/components/SxpPageRender/WaterFall/List.js +20 -11
  18. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +20 -11
  19. package/es/core/components/SxpPageRender/index.js +21 -13
  20. package/es/core/context/EditorDataProvider.d.ts +3 -0
  21. package/es/core/context/EditorDataProvider.js +2 -1
  22. package/es/core/context/SxpDataSourceProvider.d.ts +1 -0
  23. package/es/core/context/SxpDataSourceProvider.js +53 -35
  24. package/es/core/utils/tool.d.ts +3 -3
  25. package/es/core/utils/tool.js +6 -6
  26. package/es/materials/sxp/HashTag/index.d.ts +3 -1
  27. package/es/materials/sxp/HashTag/settingRender.d.ts +7 -0
  28. package/es/materials/sxp/HashTag/settingRender.js +6 -0
  29. package/es/materials/sxp/popup/CommodityDetail/index.d.ts +1 -0
  30. package/es/materials/sxp/popup/CommodityDetail/index.js +26 -27
  31. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +1 -0
  32. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +30 -31
  33. package/es/materials/sxp/popup/CommodityList/index.d.ts +3 -1
  34. package/es/materials/sxp/popup/CommodityList/index.js +11 -7
  35. package/es/materials/sxp/popup/CommodityList/settingRender.d.ts +7 -0
  36. package/es/materials/sxp/popup/CommodityList/settingRender.js +6 -0
  37. package/es/materials/sxp/popup/Iframe/index.d.ts +1 -0
  38. package/es/materials/sxp/popup/Iframe/index.js +8 -7
  39. package/lib/core/components/SxpPageRender/Modal/index.js +3 -3
  40. package/lib/core/components/SxpPageRender/RenderCard.d.ts +3 -3
  41. package/lib/core/components/SxpPageRender/RenderCard.js +16 -26
  42. package/lib/core/components/SxpPageRender/WaterFall/List.js +20 -11
  43. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +20 -11
  44. package/lib/core/components/SxpPageRender/index.js +21 -13
  45. package/lib/core/context/EditorDataProvider.d.ts +3 -0
  46. package/lib/core/context/EditorDataProvider.js +2 -1
  47. package/lib/core/context/SxpDataSourceProvider.d.ts +1 -0
  48. package/lib/core/context/SxpDataSourceProvider.js +53 -35
  49. package/lib/core/utils/tool.d.ts +3 -3
  50. package/lib/core/utils/tool.js +6 -6
  51. package/lib/materials/sxp/HashTag/index.d.ts +3 -1
  52. package/lib/materials/sxp/HashTag/settingRender.d.ts +7 -0
  53. package/lib/materials/sxp/HashTag/settingRender.js +6 -0
  54. package/lib/materials/sxp/popup/CommodityDetail/index.d.ts +1 -0
  55. package/lib/materials/sxp/popup/CommodityDetail/index.js +26 -27
  56. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +1 -0
  57. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +30 -31
  58. package/lib/materials/sxp/popup/CommodityList/index.d.ts +3 -1
  59. package/lib/materials/sxp/popup/CommodityList/index.js +11 -7
  60. package/lib/materials/sxp/popup/CommodityList/settingRender.d.ts +7 -0
  61. package/lib/materials/sxp/popup/CommodityList/settingRender.js +6 -0
  62. package/lib/materials/sxp/popup/Iframe/index.d.ts +1 -0
  63. package/lib/materials/sxp/popup/Iframe/index.js +8 -7
  64. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -221,7 +221,7 @@ function getBrowserInfo() {
221
221
  var _a, _b, _c, _d, _e, _f, _g;
222
222
  let userAgent = self.navigator.userAgent;
223
223
  if (!userAgent)
224
- return 'Unknown';
224
+ return null;
225
225
  if (/edge\/([\d\.]+)/i.exec(userAgent))
226
226
  return `Edge ${(_a = /edge\/([\d\.]+)/i.exec(userAgent)) === null || _a === void 0 ? void 0 : _a[1]}`;
227
227
  if (/edg\/([\d\.]+)/i.exec(userAgent))
@@ -236,13 +236,13 @@ function getBrowserInfo() {
236
236
  return `Firefox ${(_f = /firefox\/([\d\.]+)/i.exec(userAgent)) === null || _f === void 0 ? void 0 : _f[1]}`;
237
237
  if (/safari/i.test(userAgent))
238
238
  return `Safari ${(_g = /version\/([\d\.]+)/i.exec(userAgent)) === null || _g === void 0 ? void 0 : _g[1]}`;
239
- return 'Unknown';
239
+ return null;
240
240
  }
241
241
  function getSystem() {
242
242
  var _a, _b, _c;
243
243
  let userAgent = self.navigator.userAgent;
244
244
  if (!userAgent)
245
- return 'Unknown';
245
+ return null;
246
246
  if (/iphone/i.test(userAgent))
247
247
  return `IOS ${(_a = userAgent.match(/OS\s(.*?)\slike/)) === null || _a === void 0 ? void 0 : _a[1]}`;
248
248
  if (/android/i.test(userAgent))
@@ -251,12 +251,12 @@ function getSystem() {
251
251
  return `Windows ${(_c = userAgent.match(/Windows\s(.*?)\;/)) === null || _c === void 0 ? void 0 : _c[1]}`;
252
252
  if (/mac/i.test(userAgent))
253
253
  return `Mac OS`;
254
- return 'Unknown';
254
+ return null;
255
255
  }
256
256
  function getDevice$1() {
257
257
  let userAgent = self.navigator.userAgent;
258
258
  if (!userAgent)
259
- return 'Unknown';
259
+ return null;
260
260
  if (/iphone/i.test(userAgent))
261
261
  return `iPhone`;
262
262
  if (/android/i.test(userAgent)) {
@@ -279,7 +279,7 @@ function getDevice$1() {
279
279
  return `Windows`;
280
280
  if (/mac/i.test(userAgent))
281
281
  return `Mac`;
282
- return 'Unknown';
282
+ return null;
283
283
  }
284
284
  function getCookie(val) {
285
285
  // const expirationDate = new Date();
@@ -696,8 +696,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
696
696
  }, [bffDataSource]);
697
697
  // 获取推荐视频数据
698
698
  const getRecommendVideos = useCallback((query) => __awaiter(void 0, void 0, void 0, function* () {
699
- var _d, _e, _f, _g, _h, _j, _k;
700
- query = Object.assign(Object.assign({ maxSize: (_d = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _d !== void 0 ? _d : maxSize, defaultSize: (_e = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _e !== void 0 ? _e : defaultSize, hashTag: query === null || query === void 0 ? void 0 : query.hashTag, traceInfo: query === null || query === void 0 ? void 0 : query.traceInfo, themeTag: query === null || query === void 0 ? void 0 : query.themeTag }, ((query === null || query === void 0 ? void 0 : query.contentFilter) && { contentFilter: `[${query === null || query === void 0 ? void 0 : query.contentFilter}]` })), ((query === null || query === void 0 ? void 0 : query.productFilter) && { productFilter: `[${query === null || query === void 0 ? void 0 : query.productFilter}]` }));
699
+ var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
700
+ query = Object.assign(Object.assign(Object.assign({ maxSize: (_d = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _d !== void 0 ? _d : maxSize, defaultSize: (_e = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _e !== void 0 ? _e : defaultSize, hashTag: query === null || query === void 0 ? void 0 : query.hashTag, traceInfo: query === null || query === void 0 ? void 0 : query.traceInfo, themeTag: query === null || query === void 0 ? void 0 : query.themeTag }, ((query === null || query === void 0 ? void 0 : query.contentFilter) && { contentFilter: `[${query === null || query === void 0 ? void 0 : query.contentFilter}]` })), ((query === null || query === void 0 ? void 0 : query.productFilter) && { productFilter: `[${query === null || query === void 0 ? void 0 : query.productFilter}]` })), { pageNum: query === null || query === void 0 ? void 0 : query.pageNum });
701
701
  if (utmVal) {
702
702
  const val = (_h = (_g = (_f = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _f === void 0 ? void 0 : _f.filter((val) => {
703
703
  var _a, _b;
@@ -706,30 +706,36 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
706
706
  })) === null || _g === void 0 ? void 0 : _g.join('&')) !== null && _h !== void 0 ? _h : '';
707
707
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
708
708
  }
709
- if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) || isEditor) {
709
+ if (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) {
710
+ query = Object.assign(Object.assign({}, query), { directPage: true, level: 1, pageNum: (_j = query === null || query === void 0 ? void 0 : query.pageNum) !== null && _j !== void 0 ? _j : 1 });
711
+ }
712
+ if (isEditor) {
713
+ let pageNum = 1;
710
714
  query = Object.assign(Object.assign(Object.assign({}, query), { directPage: true, level: 1 }), (!utmVal && channelQueryList && (channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList.length) > 0 && { channel: channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList[0] }));
711
- if (!(query === null || query === void 0 ? void 0 : query.channel))
712
- return;
715
+ if (!(query === null || query === void 0 ? void 0 : query.channel) || isInit.current) {
716
+ return undefined;
717
+ }
718
+ isInit.current = true;
713
719
  let list = [];
714
720
  let result = null;
715
- let pageNum = 1;
716
721
  const recurveRecList = (query) => __awaiter(void 0, void 0, void 0, function* () {
717
- var _l, _m, _o, _p;
722
+ var _r, _s, _t, _u, _v, _w;
718
723
  query.pageNum = pageNum;
719
724
  result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/recommend/list', { method: 'GET', query }));
720
725
  if (!(result === null || result === void 0 ? void 0 : result.success)) {
721
726
  return undefined;
722
727
  }
723
- const rec = (_m = (_l = result === null || result === void 0 ? void 0 : result.data) === null || _l === void 0 ? void 0 : _l.recList) === null || _m === void 0 ? void 0 : _m[0];
724
- list = list.concat((_p = (_o = result === null || result === void 0 ? void 0 : result.data) === null || _o === void 0 ? void 0 : _o.recList) !== null && _p !== void 0 ? _p : []);
725
- if ((rec === null || rec === void 0 ? void 0 : rec.product) || (rec === null || rec === void 0 ? void 0 : rec.video)) {
728
+ setLoading(false);
729
+ const isNotNullList = (_s = (_r = result === null || result === void 0 ? void 0 : result.data) === null || _r === void 0 ? void 0 : _r.recList) === null || _s === void 0 ? void 0 : _s.every((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
730
+ list = list.concat((_w = (_v = (_u = (_t = result === null || result === void 0 ? void 0 : result.data) === null || _t === void 0 ? void 0 : _t.recList) === null || _u === void 0 ? void 0 : _u.filter) === null || _v === void 0 ? void 0 : _v.call(_u, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _w !== void 0 ? _w : []);
731
+ if (isNotNullList) {
726
732
  pageNum = pageNum + 1;
727
733
  yield recurveRecList(query);
728
734
  }
729
735
  });
730
736
  yield recurveRecList(query);
731
737
  if (!(query === null || query === void 0 ? void 0 : query.hashTag) && result)
732
- setCurReqInfo({ rtc: (_j = result === null || result === void 0 ? void 0 : result.data) === null || _j === void 0 ? void 0 : _j.rtc, requestId: (_k = result === null || result === void 0 ? void 0 : result.data) === null || _k === void 0 ? void 0 : _k.requestId });
738
+ setCurReqInfo({ rtc: (_k = result === null || result === void 0 ? void 0 : result.data) === null || _k === void 0 ? void 0 : _k.rtc, requestId: (_l = result === null || result === void 0 ? void 0 : result.data) === null || _l === void 0 ? void 0 : _l.requestId });
733
739
  return Object.assign(Object.assign({}, result.data), { recList: list });
734
740
  }
735
741
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/recommend/list', { method: 'GET', query }));
@@ -738,15 +744,20 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
738
744
  }
739
745
  if (!(query === null || query === void 0 ? void 0 : query.hashTag))
740
746
  setCurReqInfo({ rtc: result.data.rtc, requestId: result.data.requestId });
747
+ if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor) {
748
+ let list = [];
749
+ list = list.concat((_q = (_p = (_o = (_m = result === null || result === void 0 ? void 0 : result.data) === null || _m === void 0 ? void 0 : _m.recList) === null || _o === void 0 ? void 0 : _o.filter) === null || _p === void 0 ? void 0 : _p.call(_o, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _q !== void 0 ? _q : []);
750
+ return Object.assign(Object.assign({}, result.data), { recList: list });
751
+ }
741
752
  return result === null || result === void 0 ? void 0 : result.data;
742
- }), [bffFetch, utmVal, maxSize, defaultSize, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview, channelQueryList, isEditor]);
743
- const loadVideos = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
744
- var _q, _r, _s, _t;
753
+ }), [bffFetch, utmVal, maxSize, defaultSize, channelQueryList]);
754
+ const loadVideos = useCallback((pageNum) => __awaiter(void 0, void 0, void 0, function* () {
755
+ var _x, _y, _z, _0;
745
756
  if (rtcList.length <= 0) {
746
757
  return;
747
758
  }
748
759
  const lastItem = rtcList === null || rtcList === void 0 ? void 0 : rtcList[(rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) - 1];
749
- const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_q = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _q === void 0 ? void 0 : _q.itemId) && { productFilter: (_r = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _r === void 0 ? void 0 : _r.itemId })), (((_s = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _s === void 0 ? void 0 : _s.itemId) && { contentFilter: (_t = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _t === void 0 ? void 0 : _t.itemId })), { themeTag: themeTag.current }));
760
+ const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_x = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _x === void 0 ? void 0 : _x.itemId) && { productFilter: (_y = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _y === void 0 ? void 0 : _y.itemId })), (((_z = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _z === void 0 ? void 0 : _z.itemId) && { contentFilter: (_0 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _0 === void 0 ? void 0 : _0.itemId })), { themeTag: themeTag.current }), ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor && { pageNum })));
750
761
  setRtcList(rtcList.concat(getFilterRecList(data)));
751
762
  setCacheRtcList(cacheRtcList.concat(getFilterRecList(data)));
752
763
  }), [getRecommendVideos, rtcList, waterFallData, cacheRtcList]);
@@ -763,7 +774,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
763
774
  };
764
775
  }
765
776
  const sessionID = storeAndLoadFeSessionId();
766
- const ef = Object.assign(Object.assign({ sessionID, rtc: curReqInfo.rtc, requestId: curReqInfo.requestId }, eventInfo), { sxpDevice: getDevice$1(), sxpSystem: getSystem(), sxpBrowser: getBrowserInfo() });
777
+ const ef = Object.assign(Object.assign(Object.assign(Object.assign({ sessionID, rtc: curReqInfo.rtc, requestId: curReqInfo.requestId }, eventInfo), (getDevice$1() && { sxpDevice: getDevice$1() })), (getSystem() && { sxpSystem: getSystem() })), (getBrowserInfo() && { sxpBrowser: getBrowserInfo() }));
767
778
  const realUserInfo = Object.entries(userInfo).map(([k, v]) => ({ name: k, value: v }));
768
779
  const realEventInfo = Object.entries(ef)
769
780
  .map(([k, v]) => v && { name: k, value: v })
@@ -779,24 +790,21 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
779
790
  });
780
791
  }, [bffFetch, curReqInfo, enableReportEvent, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview]);
781
792
  const bffFbReport = useCallback((_a) => {
782
- var _b, _c;
793
+ var _b, _c, _d;
783
794
  var { eventName, actionSource = 'website', eventSourceUrl = (_b = window === null || window === void 0 ? void 0 : window.location) === null || _b === void 0 ? void 0 : _b.href, externalId } = _a;
784
795
  if (!enableReportEvent || !enabledMetaConversionApi || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview)) {
785
796
  return;
786
797
  }
787
798
  const fakeUserId = storeAndLoadFeUserId();
799
+ const urlParams = new URLSearchParams(window.location.search);
800
+ const fbclid = urlParams.get('fbclid');
788
801
  return bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/fb/events', {
789
802
  method: 'POST',
790
803
  body: {
791
804
  eventName,
792
805
  actionSource,
793
806
  eventSourceUrl,
794
- userData: {
795
- externalId: fakeUserId,
796
- fbc: `fb.2.${new Date().getTime()}.${getCookie('_fbc')}`,
797
- fbp: `fb.2.${new Date().getTime()}.${getCookie('_fbp')}`,
798
- client_user_agent: (_c = window === null || window === void 0 ? void 0 : window.navigator) === null || _c === void 0 ? void 0 : _c.userAgent
799
- }
807
+ userData: Object.assign(Object.assign(Object.assign({ externalId: fakeUserId }, (fbclid && { fbc: `fb.2.${new Date().getTime()}.${fbclid}` })), (getCookie('_fbp') && { fbp: `fb.2.${new Date().getTime()}.${getCookie('_fbp')}` })), { client_user_agent: (_d = (_c = window === null || window === void 0 ? void 0 : window.navigator) === null || _c === void 0 ? void 0 : _c.userAgent) !== null && _d !== void 0 ? _d : '' })
800
808
  },
801
809
  type: 'beacon'
802
810
  });
@@ -815,17 +823,17 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
815
823
  }), [bffFetch]);
816
824
  // 获取 Tag
817
825
  const bffGetTagList = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
818
- var _u, _v, _w, _x, _y;
826
+ var _1, _2, _3, _4, _5;
819
827
  if (!utmVal || !isShowTag)
820
828
  return;
821
829
  try {
822
- const val = (_w = (_v = (_u = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _u === void 0 ? void 0 : _u.filter((val) => {
830
+ const val = (_3 = (_2 = (_1 = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _1 === void 0 ? void 0 : _1.filter((val) => {
823
831
  var _a, _b;
824
832
  const key = val.split('=')[0];
825
833
  return (_b = ((_a = utmParameter === null || utmParameter === void 0 ? void 0 : utmParameter.channels) !== null && _a !== void 0 ? _a : [])) === null || _b === void 0 ? void 0 : _b.includes(key);
826
- })) === null || _v === void 0 ? void 0 : _v.join('&')) !== null && _w !== void 0 ? _w : '';
834
+ })) === null || _2 === void 0 ? void 0 : _2.join('&')) !== null && _3 !== void 0 ? _3 : '';
827
835
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
828
- setTagList((_y = (_x = result === null || result === void 0 ? void 0 : result.data) === null || _x === void 0 ? void 0 : _x.tags) !== null && _y !== void 0 ? _y : []);
836
+ setTagList((_5 = (_4 = result === null || result === void 0 ? void 0 : result.data) === null || _4 === void 0 ? void 0 : _4.tags) !== null && _5 !== void 0 ? _5 : []);
829
837
  }
830
838
  catch (e) {
831
839
  console.log('e', e);
@@ -887,8 +895,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
887
895
  bffGetTagList();
888
896
  getRecommendVideos()
889
897
  .then((data) => {
890
- setRtcList(getFilterRecList(data));
891
- setCacheRtcList(getFilterRecList(data));
898
+ if (data) {
899
+ setRtcList(getFilterRecList(data));
900
+ setCacheRtcList(getFilterRecList(data));
901
+ }
892
902
  })
893
903
  .finally(() => {
894
904
  bffEventReport({
@@ -898,23 +908,30 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
898
908
  }
899
909
  });
900
910
  setLoading(false);
901
- isInit.current = true;
902
911
  });
903
912
  }, [isShowConsent]);
904
913
  useEffect(() => {
905
- if (!isInit.current && !isEditor)
914
+ if (!isPreview)
906
915
  return;
907
916
  setLoading(true);
908
917
  bffGetTagList();
909
918
  getRecommendVideos()
910
919
  .then((data) => {
911
- setRtcList(getFilterRecList(data));
912
- setCacheRtcList(getFilterRecList(data));
920
+ if (data) {
921
+ setRtcList(getFilterRecList(data));
922
+ setCacheRtcList(getFilterRecList(data));
923
+ }
913
924
  })
914
925
  .finally(() => {
926
+ bffEventReport({
927
+ eventInfo: {
928
+ eventSubject: 'apiRequest',
929
+ eventDescription: 'api request succeed'
930
+ }
931
+ });
915
932
  setLoading(false);
916
933
  });
917
- }, [bffGetTagList, isEditor, getRecommendVideos]);
934
+ }, [getRecommendVideos, bffGetTagList]);
918
935
  const defaultLoadingImage = useIconLink('/pb_static/a65d23c5893c49d7aaaa81681d3179e2.gif', appDomain);
919
936
  return (React.createElement(SxpDataSourceContext.Provider, { value: {
920
937
  rtcList,
@@ -962,7 +979,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
962
979
  setSelectTag,
963
980
  globalConfig,
964
981
  popupCurTimeRef,
965
- checkCommodityIndexRef
982
+ checkCommodityIndexRef,
983
+ isEditor
966
984
  } }, isShowConsent ? (React.createElement(Consent$3, Object.assign({}, (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.props))) : (render({
967
985
  rtcList,
968
986
  mutateLike: bffMutateLike,
@@ -1405,7 +1423,7 @@ var settingRender$a = [
1405
1423
  * @Author: binruan@chatlabs.com
1406
1424
  * @Date: 2024-03-12 10:59:06
1407
1425
  * @LastEditors: binruan@chatlabs.com
1408
- * @LastEditTime: 2024-08-14 17:02:53
1426
+ * @LastEditTime: 2024-08-22 17:43:04
1409
1427
  * @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
1410
1428
  *
1411
1429
  */
@@ -8791,13 +8809,13 @@ SwiperSlide.displayName = 'SwiperSlide';
8791
8809
  * @Author: binruan@chatlabs.com
8792
8810
  * @Date: 2023-11-02 18:34:34
8793
8811
  * @LastEditors: binruan@chatlabs.com
8794
- * @LastEditTime: 2024-08-16 17:58:56
8812
+ * @LastEditTime: 2024-08-20 18:29:11
8795
8813
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Modal\index.tsx
8796
8814
  *
8797
8815
  */
8798
8816
  const closeIcon$1 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
8799
8817
  const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema, fullHeight = window.innerHeight, isFullScreen = false }) => {
8800
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
8818
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
8801
8819
  const touchRef = useRef(null);
8802
8820
  const fTouchRef = useRef(null);
8803
8821
  const touchMoveRef = useRef(null);
@@ -8922,8 +8940,8 @@ const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema,
8922
8940
  React.createElement("div", { onClick: onClose, className: 'modal-icon-wrapper' },
8923
8941
  React.createElement("img", { src: (_t = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) !== null && _t !== void 0 ? _t : closeIcon$1, alt: 'close', className: 'modal-icon' })),
8924
8942
  React.createElement("div", { ref: ref, style: {
8925
- height: (isScrollFullScreen ? fullHeight : MODAL_DEF_CON_H) -
8926
- ((_w = (_v = (_u = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _u === void 0 ? void 0 : _u.props) === null || _v === void 0 ? void 0 : _v.popupBg) === null || _w === void 0 ? void 0 : _w.bottomMargin),
8943
+ height: (_x = (isScrollFullScreen ? fullHeight : MODAL_DEF_CON_H) -
8944
+ ((_w = (_v = (_u = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _u === void 0 ? void 0 : _u.props) === null || _v === void 0 ? void 0 : _v.popupBg) === null || _w === void 0 ? void 0 : _w.bottomMargin)) !== null && _x !== void 0 ? _x : 0,
8927
8945
  overflow: (isScrollFullScreen && modalTrans <= 0) || !isScrollFullScreen ? 'auto' : 'hidden'
8928
8946
  } }, children)))))), modalEleRef.current);
8929
8947
  };
@@ -9091,8 +9109,8 @@ const CommodityGroup = ({ products, data, defImg, style, onCLick, popupDetailDat
9091
9109
  var CommodityGroup$1 = memo(CommodityGroup);
9092
9110
 
9093
9111
  const CommodityDetail$1 = (_a) => {
9094
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
9095
- var { content, style, bgImg, onClick, schema, isDefault, bottom_image, tipText, isPost, viewTime, rec, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio } = _a, props = __rest(_a, ["content", "style", "bgImg", "onClick", "schema", "isDefault", "bottom_image", "tipText", "isPost", "viewTime", "rec", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio"]);
9112
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
9113
+ var { content, style, bgImg, onClick, schema, isDefault, bottom_image, tipText, isPost, viewTime, rec, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio, isTel } = _a, props = __rest(_a, ["content", "style", "bgImg", "onClick", "schema", "isDefault", "bottom_image", "tipText", "isPost", "viewTime", "rec", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio", "isTel"]);
9096
9114
  const { sxpParameter, popupDetailData, isPreview, bffFbReport, popupCurTimeRef, checkCommodityIndexRef } = useSxpDataSource();
9097
9115
  const { jumpToWeb, productView } = useEventReport();
9098
9116
  const curTimeRef = useRef(null);
@@ -9212,18 +9230,18 @@ const CommodityDetail$1 = (_a) => {
9212
9230
  };
9213
9231
  return dotsAlignClass === null || dotsAlignClass === void 0 ? void 0 : dotsAlignClass[swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign];
9214
9232
  }, [swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign]);
9215
- const iframeUrl = ((_x = (_w = data === null || data === void 0 ? void 0 : data.video) === null || _w === void 0 ? void 0 : _w.bindProduct) === null || _x === void 0 ? void 0 : _x.remark) || ((_0 = (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.bindProducts) === null || _z === void 0 ? void 0 : _z[0]) === null || _0 === void 0 ? void 0 : _0.remark) || ((_1 = data === null || data === void 0 ? void 0 : data.product) === null || _1 === void 0 ? void 0 : _1.remark);
9233
+ const iframeUrl = isPost ? (_w = data === null || data === void 0 ? void 0 : data.product) === null || _w === void 0 ? void 0 : _w.remark : (_y = (_x = data === null || data === void 0 ? void 0 : data.video) === null || _x === void 0 ? void 0 : _x.bindProduct) === null || _y === void 0 ? void 0 : _y.remark;
9216
9234
  return (React.createElement(React.Fragment, null,
9217
9235
  React.createElement("div", Object.assign({ className: css(Object.assign({}, style)) }, props),
9218
9236
  React.createElement("div", { style: { position: 'relative' } },
9219
- product && ((_2 = product === null || product === void 0 ? void 0 : product.homePage) === null || _2 === void 0 ? void 0 : _2.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
9237
+ product && ((_z = product === null || product === void 0 ? void 0 : product.homePage) === null || _z === void 0 ? void 0 : _z.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
9220
9238
  clickable: true,
9221
9239
  bulletActiveClass: 'swipe-item-active-bullet',
9222
9240
  clickableClass: getDotsAlign
9223
9241
  }, loop: true, autoplay: {
9224
9242
  delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
9225
9243
  }, ref: ref },
9226
- React.createElement(React.Fragment, null, (_3 = product === null || product === void 0 ? void 0 : product.homePage) === null || _3 === void 0 ? void 0 : _3.map((src) => {
9244
+ React.createElement(React.Fragment, null, (_0 = product === null || product === void 0 ? void 0 : product.homePage) === null || _0 === void 0 ? void 0 : _0.map((src) => {
9227
9245
  var _a;
9228
9246
  return (React.createElement(SwiperSlide, { key: src },
9229
9247
  React.createElement("div", { style: {
@@ -9239,7 +9257,7 @@ const CommodityDetail$1 = (_a) => {
9239
9257
  objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? (swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
9240
9258
  }, src: (_a = src !== null && src !== void 0 ? src : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _a !== void 0 ? _a : bottom_image }))));
9241
9259
  })))),
9242
- !((_4 = product === null || product === void 0 ? void 0 : product.homePage) === null || _4 === void 0 ? void 0 : _4.length) && (React.createElement("div", { className: css({
9260
+ !((_1 = product === null || product === void 0 ? void 0 : product.homePage) === null || _1 === void 0 ? void 0 : _1.length) && (React.createElement("div", { className: css({
9243
9261
  height,
9244
9262
  width
9245
9263
  }) },
@@ -9247,21 +9265,19 @@ const CommodityDetail$1 = (_a) => {
9247
9265
  objectFit: 'cover',
9248
9266
  width: '100%',
9249
9267
  height: '100%'
9250
- }), src: (_5 = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _5 !== void 0 ? _5 : bottom_image, alt: 'pdp image' }))),
9251
- (iframeUrl && iframeIcon) ||
9252
- (!product && iframeIcon && (React.createElement("div", { style: {
9253
- padding: '5px 10px',
9254
- display: 'flex',
9255
- alignItems: 'center',
9256
- position: 'absolute',
9257
- right: '10px',
9258
- bottom: '10px',
9259
- zIndex: 1,
9260
- background: '#fff',
9261
- borderRadius: '3px'
9262
- }, onClick: () => setShow3DModal(true) },
9263
- React.createElement("img", { src: iframeIcon, alt: '3d', width: '20px', height: '20px', style: { marginRight: '5px' } }),
9264
- React.createElement("span", { style: { fontSize: '12px' } }, "Try in 3D"))))),
9268
+ }), src: (_2 = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _2 !== void 0 ? _2 : bottom_image, alt: 'pdp image' }))),
9269
+ (iframeUrl || !product) && iframeIcon && (React.createElement("div", { style: {
9270
+ padding: '5px 10px',
9271
+ display: 'flex',
9272
+ alignItems: 'center',
9273
+ position: 'absolute',
9274
+ right: '10px',
9275
+ bottom: '10px',
9276
+ zIndex: 1,
9277
+ background: '#fff',
9278
+ borderRadius: '3px'
9279
+ }, onClick: () => setShow3DModal(true) },
9280
+ React.createElement("img", { src: iframeIcon, alt: '3d', width: '20px', height: '20px', style: { marginRight: '5px' } })))),
9265
9281
  renderCommodityGroup(),
9266
9282
  React.createElement("div", { className: 'pb-commondity-content' }, renderContent({ isPost }))),
9267
9283
  renderBtn(),
@@ -9269,12 +9285,13 @@ const CommodityDetail$1 = (_a) => {
9269
9285
  React.createElement("div", { style: { paddingBottom: '80px' } }, renderContent({ isPost: false })),
9270
9286
  renderBtn()),
9271
9287
  React.createElement(Modal$1, { visible: show3DModal, padding: 0, isFullScreen: true, onClose: () => setShow3DModal(false) },
9272
- React.createElement("iframe", { src: iframeUrl, style: {
9273
- width: '100%',
9274
- height: 'calc(100% - 50px)',
9275
- marginTop: '40px',
9276
- border: 'none'
9277
- } }))));
9288
+ React.createElement("div", { style: { height: '100vh' } },
9289
+ React.createElement("iframe", { src: iframeUrl, style: {
9290
+ width: '100%',
9291
+ height: isTel ? `${664 - 40}px` : `calc(100vh - 40px)`,
9292
+ marginTop: '40px',
9293
+ border: 'none'
9294
+ } })))));
9278
9295
  };
9279
9296
  var CommodityDetailComponent = memo(CommodityDetail$1);
9280
9297
 
@@ -9927,8 +9944,8 @@ var settingRender$7 = [
9927
9944
  ];
9928
9945
 
9929
9946
  const CommodityDetailDiroNew$1 = (_a) => {
9930
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9;
9931
- var { style, isDefault, rec, viewTime, isPost, bottom_image, tipText, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio } = _a, props = __rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "tipText", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio"]);
9947
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
9948
+ var { style, isDefault, rec, viewTime, isPost, bottom_image, tipText, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio, isTel } = _a, props = __rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "tipText", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio", "isTel"]);
9932
9949
  useState(true);
9933
9950
  const { sxpParameter, popupCurTimeRef, popupDetailData, isPreview, bffFbReport, checkCommodityIndexRef } = useSxpDataSource();
9934
9951
  const { jumpToWeb, productView } = useEventReport();
@@ -10079,17 +10096,17 @@ Made in Italy` })));
10079
10096
  };
10080
10097
  return dotsAlignClass === null || dotsAlignClass === void 0 ? void 0 : dotsAlignClass[swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign];
10081
10098
  }, [swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign]);
10082
- const iframeUrl = ((_x = (_w = data === null || data === void 0 ? void 0 : data.video) === null || _w === void 0 ? void 0 : _w.bindProduct) === null || _x === void 0 ? void 0 : _x.remark) || ((_0 = (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.bindProducts) === null || _z === void 0 ? void 0 : _z[0]) === null || _0 === void 0 ? void 0 : _0.remark) || ((_1 = data === null || data === void 0 ? void 0 : data.product) === null || _1 === void 0 ? void 0 : _1.remark);
10099
+ const iframeUrl = isPost ? (_w = data === null || data === void 0 ? void 0 : data.product) === null || _w === void 0 ? void 0 : _w.remark : (_y = (_x = data === null || data === void 0 ? void 0 : data.video) === null || _x === void 0 ? void 0 : _x.bindProduct) === null || _y === void 0 ? void 0 : _y.remark;
10083
10100
  return (React.createElement("div", { className: 'pb-commondityDiroNew' },
10084
10101
  React.createElement("div", Object.assign({ className: css(Object.assign(Object.assign({}, style), { transform: 'translate3d(0px, 0px, 0px)' })) }, props),
10085
10102
  React.createElement("div", { style: { position: 'relative' } },
10086
- product && ((_2 = product === null || product === void 0 ? void 0 : product.homePage) === null || _2 === void 0 ? void 0 : _2.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
10103
+ product && ((_z = product === null || product === void 0 ? void 0 : product.homePage) === null || _z === void 0 ? void 0 : _z.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
10087
10104
  clickable: true,
10088
10105
  bulletActiveClass: 'commondityDiroNew-swipe-item-active-bullet',
10089
10106
  clickableClass: getDotsAlign
10090
10107
  }, loop: true, autoplay: {
10091
10108
  delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
10092
- }, ref: ref }, (_3 = product === null || product === void 0 ? void 0 : product.homePage) === null || _3 === void 0 ? void 0 : _3.map((src) => {
10109
+ }, ref: ref }, (_0 = product === null || product === void 0 ? void 0 : product.homePage) === null || _0 === void 0 ? void 0 : _0.map((src) => {
10093
10110
  var _a;
10094
10111
  return (React.createElement(SwiperSlide, { key: src },
10095
10112
  React.createElement("div", { style: {
@@ -10105,7 +10122,7 @@ Made in Italy` })));
10105
10122
  objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? (swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
10106
10123
  }, src: (_a = src !== null && src !== void 0 ? src : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _a !== void 0 ? _a : bottom_image }))));
10107
10124
  }))),
10108
- !((_4 = product === null || product === void 0 ? void 0 : product.homePage) === null || _4 === void 0 ? void 0 : _4.length) && (React.createElement("div", { className: css({
10125
+ !((_1 = product === null || product === void 0 ? void 0 : product.homePage) === null || _1 === void 0 ? void 0 : _1.length) && (React.createElement("div", { className: css({
10109
10126
  height,
10110
10127
  width
10111
10128
  }) },
@@ -10113,27 +10130,25 @@ Made in Italy` })));
10113
10130
  objectFit: 'cover',
10114
10131
  width: '100%',
10115
10132
  height: '100%'
10116
- }), src: (_5 = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _5 !== void 0 ? _5 : bottom_image, alt: 'pdp image' }))),
10117
- (iframeUrl && iframeIcon) ||
10118
- (!product && iframeIcon && (React.createElement("div", { style: {
10119
- padding: '5px 10px',
10120
- display: 'flex',
10121
- alignItems: 'center',
10122
- position: 'absolute',
10123
- right: '10px',
10124
- bottom: '10px',
10125
- zIndex: 1,
10126
- background: '#fff',
10127
- borderRadius: '3px'
10128
- }, onClick: () => setShow3DModal(true) },
10129
- React.createElement("img", { src: iframeIcon, alt: '3d', width: '20px', height: '20px', style: { marginRight: '5px' } }),
10130
- React.createElement("span", { style: { fontSize: '12px' } }, "Try in 3D"))))),
10133
+ }), src: (_2 = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _2 !== void 0 ? _2 : bottom_image, alt: 'pdp image' }))),
10134
+ (iframeUrl || !product) && iframeIcon && (React.createElement("div", { style: {
10135
+ padding: '5px 10px',
10136
+ display: 'flex',
10137
+ alignItems: 'center',
10138
+ position: 'absolute',
10139
+ right: '10px',
10140
+ bottom: '10px',
10141
+ zIndex: 1,
10142
+ background: '#fff',
10143
+ borderRadius: '3px'
10144
+ }, onClick: () => setShow3DModal(true) },
10145
+ React.createElement("img", { src: iframeIcon, alt: '3d', width: '20px', height: '20px', style: { marginRight: '5px' } })))),
10131
10146
  renderCommodityGroup(),
10132
10147
  React.createElement("div", { className: 'pb-commondityDiroNew-content' },
10133
10148
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top' },
10134
10149
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left' },
10135
10150
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left-title', style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title), dangerouslySetInnerHTML: {
10136
- __html: setFontForText((_6 = product === null || product === void 0 ? void 0 : product.title) !== null && _6 !== void 0 ? _6 : 'Large Dior Toujours BagLarge', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title)
10151
+ __html: setFontForText((_3 = product === null || product === void 0 ? void 0 : product.title) !== null && _3 !== void 0 ? _3 : 'Large Dior Toujours BagLarge', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title)
10137
10152
  } }),
10138
10153
  React.createElement("div", { className: 'pb-commondityDiroNew-content-collection', hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.collection) || (product === null || product === void 0 ? void 0 : product.collection) === ''), style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection), dangerouslySetInnerHTML: {
10139
10154
  __html: setFontForText((product === null || product === void 0 ? void 0 : product.collection) || 'Black Macrocannage CalfskinLarge', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection)
@@ -10143,21 +10158,22 @@ Made in Italy` })));
10143
10158
  __html: setFontForText(priceText, commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price)
10144
10159
  } }),
10145
10160
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.taxInfo), style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo), dangerouslySetInnerHTML: {
10146
- __html: setFontForText((_7 = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _7 !== void 0 ? _7 : '税费', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo)
10161
+ __html: setFontForText((_4 = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _4 !== void 0 ? _4 : '税费', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo)
10147
10162
  } }))),
10148
- (!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_8 = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _8 !== void 0 ? _8 : 'Shop now', onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle },
10163
+ (!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_5 = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _5 !== void 0 ? _5 : 'Shop now', onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle },
10149
10164
  React.createElement("span", { dangerouslySetInnerHTML: {
10150
- __html: setFontForText((_9 = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _9 !== void 0 ? _9 : 'Shop now', buttonStyle)
10165
+ __html: setFontForText((_6 = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _6 !== void 0 ? _6 : 'Shop now', buttonStyle)
10151
10166
  } }))),
10152
10167
  productInfoText({ isPost }))),
10153
10168
  React.createElement(Modal$1, { visible: showModal, onClose: () => setShowModal(false) }, productInfoText({ isPost: false })),
10154
10169
  React.createElement(Modal$1, { visible: show3DModal, padding: 0, isFullScreen: true, onClose: () => setShow3DModal(false) },
10155
- React.createElement("iframe", { src: iframeUrl, style: {
10156
- width: '100%',
10157
- height: 'calc(100% - 50px)',
10158
- marginTop: '40px',
10159
- border: 'none'
10160
- } }))));
10170
+ React.createElement("div", { style: { height: '100vh' } },
10171
+ React.createElement("iframe", { src: iframeUrl, style: {
10172
+ width: '100%',
10173
+ height: isTel ? `${664 - 40}px` : `calc(100vh - 40px)`,
10174
+ marginTop: '40px',
10175
+ border: 'none'
10176
+ } })))));
10161
10177
  };
10162
10178
  var CommodityDetailDiroNewComponent = memo(CommodityDetailDiroNew$1);
10163
10179
 
@@ -10406,6 +10422,12 @@ var settingRender$6 = [
10406
10422
  {
10407
10423
  label: '间距',
10408
10424
  type: 'TextSpace'
10425
+ },
10426
+ {
10427
+ label: '价格千分符展示',
10428
+ type: 'Switch',
10429
+ name: ['enableFormattedPrice'],
10430
+ initialValue: true
10409
10431
  }
10410
10432
  ]
10411
10433
  }
@@ -10558,7 +10580,7 @@ const Img = ({ src, rec, item, index, style, translateY, imgStyle, enableEventRe
10558
10580
  var Img$1 = memo(Img);
10559
10581
 
10560
10582
  const CommodityList$1 = (_a) => {
10561
- var _b, _c;
10583
+ var _b, _c, _d;
10562
10584
  var { style, isDefault, rec, viewTime, isPost, bottom_image, commodityStyles, buttonStyle, translateY = 0, commodityPicture, isExternalLink, onClick } = _a, props = __rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "commodityStyles", "buttonStyle", "translateY", "commodityPicture", "isExternalLink", "onClick"]);
10563
10585
  const { sxpParameter, popupDetailData, setPopupDetailData, ctaEvent } = useSxpDataSource();
10564
10586
  const { jumpToWeb } = useEventReport();
@@ -10567,16 +10589,20 @@ const CommodityList$1 = (_a) => {
10567
10589
  const product = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) !== null && _c !== void 0 ? _c : [null, null, null, null];
10568
10590
  const index = popupDetailData === null || popupDetailData === void 0 ? void 0 : popupDetailData.index;
10569
10591
  const priceText = useCallback((product) => {
10570
- var _a, _b, _c, _d, _e;
10592
+ var _a, _b, _c, _d, _e, _f, _g;
10593
+ const isToLocStr = ((_a = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _a === void 0 ? void 0 : _a.enableFormattedPrice) === undefined || ((_b = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _b === void 0 ? void 0 : _b.enableFormattedPrice);
10571
10594
  if ((product === null || product === void 0 ? void 0 : product.currency) && (product === null || product === void 0 ? void 0 : product.price)) {
10572
- return `${(_c = (_b = (_a = product === null || product === void 0 ? void 0 : product.currency) === null || _a === void 0 ? void 0 : _a.split('-')[1]) === null || _b === void 0 ? void 0 : _b.toUpperCase()) !== null && _c !== void 0 ? _c : ''}${(_e = (_d = product === null || product === void 0 ? void 0 : product.price) === null || _d === void 0 ? void 0 : _d.toLocaleString('zh', {
10573
- minimumFractionDigits: 0
10574
- })) !== null && _e !== void 0 ? _e : ''}`;
10595
+ return `${(_e = (_d = (_c = product === null || product === void 0 ? void 0 : product.currency) === null || _c === void 0 ? void 0 : _c.split('-')[1]) === null || _d === void 0 ? void 0 : _d.toUpperCase()) !== null && _e !== void 0 ? _e : ''}${isToLocStr
10596
+ ? (_g = (_f = product === null || product === void 0 ? void 0 : product.price) === null || _f === void 0 ? void 0 : _f.toLocaleString('zh', {
10597
+ minimumFractionDigits: 0
10598
+ })) !== null && _g !== void 0 ? _g : ''
10599
+ : product === null || product === void 0 ? void 0 : product.price}`;
10575
10600
  }
10576
10601
  else {
10577
- return '$7,000';
10602
+ const p = 7000;
10603
+ return `$${isToLocStr ? p.toLocaleString() : p}`;
10578
10604
  }
10579
- }, []);
10605
+ }, [(_d = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _d === void 0 ? void 0 : _d.enableFormattedPrice]);
10580
10606
  const handleClick = throttle((item, multiCheckIndex) => {
10581
10607
  ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
10582
10608
  eventSubject: 'clickCta',
@@ -10737,15 +10763,16 @@ var settingRender$5 = [
10737
10763
 
10738
10764
  const Iframe$1 = (_a) => {
10739
10765
  var _b, _c;
10740
- var { content, btnText, style, icon, isPopup, isExternalLink, onClose, onClick, submitButtonStyle, contentStyle } = _a, props = __rest(_a, ["content", "btnText", "style", "icon", "isPopup", "isExternalLink", "onClose", "onClick", "submitButtonStyle", "contentStyle"]);
10766
+ var { content, btnText, style, icon, isPopup, isExternalLink, onClose, onClick, submitButtonStyle, contentStyle, isTel } = _a, props = __rest(_a, ["content", "btnText", "style", "icon", "isPopup", "isExternalLink", "onClose", "onClick", "submitButtonStyle", "contentStyle", "isTel"]);
10741
10767
  const { popupDetailData } = useSxpDataSource();
10742
10768
  const iframeUrl = (_c = (_b = popupDetailData === null || popupDetailData === void 0 ? void 0 : popupDetailData.video) === null || _b === void 0 ? void 0 : _b.bindCta) === null || _c === void 0 ? void 0 : _c.remark;
10743
- return (React.createElement("div", Object.assign({ className: `${css(Object.assign({}, style))}` }, props), iframeUrl && (React.createElement("iframe", { src: iframeUrl, style: {
10744
- width: '100%',
10745
- height: 'calc(100% - 50px)',
10746
- marginTop: '40px',
10747
- border: 'none'
10748
- } }))));
10769
+ return (React.createElement("div", Object.assign({ className: `${css(Object.assign(Object.assign({}, style), { height: isTel ? 664 : window === null || window === void 0 ? void 0 : window.innerHeight }))}` }, props),
10770
+ React.createElement("iframe", { src: iframeUrl, style: {
10771
+ width: '100%',
10772
+ height: 'calc(100% - 50px)',
10773
+ marginTop: '40px',
10774
+ border: 'none'
10775
+ } })));
10749
10776
  };
10750
10777
  var IframeComponent = memo(Iframe$1);
10751
10778
 
@@ -11990,7 +12017,7 @@ const MultiCommodityDiroNew = createMaterial(MultiCommodityDiroNewComponent, {
11990
12017
  * @Author: binruan@chatlabs.com
11991
12018
  * @Date: 2024-04-07 14:07:12
11992
12019
  * @LastEditors: binruan@chatlabs.com
11993
- * @LastEditTime: 2024-08-06 14:00:36
12020
+ * @LastEditTime: 2024-08-22 10:14:36
11994
12021
  * @FilePath: \pb-sxp-ui\src\materials\sxp\HashTag\settingRender.tsx
11995
12022
  *
11996
12023
  */
@@ -12099,6 +12126,12 @@ var settingRender$3 = [
12099
12126
  {
12100
12127
  label: '间距',
12101
12128
  type: 'TextSpace'
12129
+ },
12130
+ {
12131
+ label: '价格千分符展示',
12132
+ type: 'Switch',
12133
+ name: ['enableFormattedPrice'],
12134
+ initialValue: true
12102
12135
  }
12103
12136
  ]
12104
12137
  }
@@ -13519,6 +13552,7 @@ var previewData = {
13519
13552
  };
13520
13553
 
13521
13554
  const WaterfallFlowItem$1 = (props) => {
13555
+ var _a;
13522
13556
  const { rec, style = {}, sizeChange = () => { }, unitWidth, index, showBorder, list, reportTagsView, textStyles, space } = props;
13523
13557
  const { swiperRef, setRtcList, setOpenHashtag, sxpParameter } = useSxpDataSource();
13524
13558
  const [showVideo, setShowVideo] = useState(false);
@@ -13572,16 +13606,19 @@ const WaterfallFlowItem$1 = (props) => {
13572
13606
  }
13573
13607
  }, [top, showBorder]);
13574
13608
  const priceText = useMemo(() => {
13575
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13576
- if (((_a = rec === null || rec === void 0 ? void 0 : rec.product) === null || _a === void 0 ? void 0 : _a.currency) && ((_b = rec === null || rec === void 0 ? void 0 : rec.product) === null || _b === void 0 ? void 0 : _b.price)) {
13577
- return `${(_f = (_e = (_d = (_c = rec === null || rec === void 0 ? void 0 : rec.product) === null || _c === void 0 ? void 0 : _c.currency) === null || _d === void 0 ? void 0 : _d.split('-')[1]) === null || _e === void 0 ? void 0 : _e.toUpperCase()) !== null && _f !== void 0 ? _f : ''}${(_j = (_h = (_g = rec === null || rec === void 0 ? void 0 : rec.product) === null || _g === void 0 ? void 0 : _g.price) === null || _h === void 0 ? void 0 : _h.toLocaleString('zh', {
13578
- minimumFractionDigits: 0
13579
- })) !== null && _j !== void 0 ? _j : ''}`;
13609
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
13610
+ const isToLocStr = ((_a = textStyles === null || textStyles === void 0 ? void 0 : textStyles.price) === null || _a === void 0 ? void 0 : _a.enableFormattedPrice) === undefined || ((_b = textStyles === null || textStyles === void 0 ? void 0 : textStyles.price) === null || _b === void 0 ? void 0 : _b.enableFormattedPrice);
13611
+ if (((_c = rec === null || rec === void 0 ? void 0 : rec.product) === null || _c === void 0 ? void 0 : _c.currency) && ((_d = rec === null || rec === void 0 ? void 0 : rec.product) === null || _d === void 0 ? void 0 : _d.price)) {
13612
+ return `${(_h = (_g = (_f = (_e = rec === null || rec === void 0 ? void 0 : rec.product) === null || _e === void 0 ? void 0 : _e.currency) === null || _f === void 0 ? void 0 : _f.split('-')[1]) === null || _g === void 0 ? void 0 : _g.toUpperCase()) !== null && _h !== void 0 ? _h : ''}${isToLocStr
13613
+ ? (_l = (_k = (_j = rec === null || rec === void 0 ? void 0 : rec.product) === null || _j === void 0 ? void 0 : _j.price) === null || _k === void 0 ? void 0 : _k.toLocaleString('zh', {
13614
+ minimumFractionDigits: 0
13615
+ })) !== null && _l !== void 0 ? _l : ''
13616
+ : (_m = rec === null || rec === void 0 ? void 0 : rec.product) === null || _m === void 0 ? void 0 : _m.price}`;
13580
13617
  }
13581
13618
  else {
13582
13619
  return null;
13583
13620
  }
13584
- }, [rec]);
13621
+ }, [rec, (_a = textStyles === null || textStyles === void 0 ? void 0 : textStyles.price) === null || _a === void 0 ? void 0 : _a.enableFormattedPrice]);
13585
13622
  useEffect(() => {
13586
13623
  if (imgDom.current === null || src === '') {
13587
13624
  return;
@@ -13745,10 +13782,14 @@ function WaterfallList$1(_a) {
13745
13782
  }, [unitWidth, rowsNum, list]); /* 增加getStyleList依赖项会导致在admin预览编辑时无限刷新 */
13746
13783
  /** 初始化请求数据 */
13747
13784
  useEffect(() => {
13748
- var _a, _b, _c, _d, _e, _f;
13785
+ var _a, _b;
13749
13786
  setIsLoadingData(true);
13750
13787
  waterFallData &&
13751
- (getRecommendVideos === null || getRecommendVideos === void 0 ? void 0 : getRecommendVideos(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag, defaultSize: hashTagSize, maxSize: hashTagSize }, (((_b = (_a = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec) === null || _a === void 0 ? void 0 : _a.product) === null || _b === void 0 ? void 0 : _b.itemId) && { productFilter: (_d = (_c = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec) === null || _c === void 0 ? void 0 : _c.product) === null || _d === void 0 ? void 0 : _d.itemId })), ((waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemId) && { contentFilter: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemId }))).then((res) => {
13788
+ (getRecommendVideos === null || getRecommendVideos === void 0 ? void 0 : getRecommendVideos({
13789
+ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag,
13790
+ defaultSize: hashTagSize,
13791
+ maxSize: hashTagSize
13792
+ }).then((res) => {
13752
13793
  var _a, _b;
13753
13794
  setData(res);
13754
13795
  setList((_b = (_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.filter((item) => (item === null || item === void 0 ? void 0 : item.video) !== null || (item === null || item === void 0 ? void 0 : item.product) !== null)) !== null && _b !== void 0 ? _b : []);
@@ -13757,7 +13798,7 @@ function WaterfallList$1(_a) {
13757
13798
  if (isOpenHashTag) {
13758
13799
  const res = previewData;
13759
13800
  setData(res);
13760
- setList((_f = (_e = res === null || res === void 0 ? void 0 : res.recList) === null || _e === void 0 ? void 0 : _e.filter((item) => (item === null || item === void 0 ? void 0 : item.video) !== null || (item === null || item === void 0 ? void 0 : item.product) !== null)) !== null && _f !== void 0 ? _f : []);
13801
+ setList((_b = (_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.filter((item) => (item === null || item === void 0 ? void 0 : item.video) !== null || (item === null || item === void 0 ? void 0 : item.product) !== null)) !== null && _b !== void 0 ? _b : []);
13761
13802
  setIsLoadingData(false);
13762
13803
  }
13763
13804
  }, [waterFallData, getRecommendVideos, hashTagSize, isOpenHashTag]);
@@ -13783,10 +13824,11 @@ function WaterfallList$1(_a) {
13783
13824
  };
13784
13825
  }, [onResize]);
13785
13826
  useCallback(() => {
13786
- var _a, _b, _c, _d;
13787
13827
  setIsLoadingData(true);
13788
13828
  waterFallData &&
13789
- (getRecommendVideos === null || getRecommendVideos === void 0 ? void 0 : getRecommendVideos(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_b = (_a = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec) === null || _a === void 0 ? void 0 : _a.product) === null || _b === void 0 ? void 0 : _b.itemId) && { productFilter: (_d = (_c = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec) === null || _c === void 0 ? void 0 : _c.product) === null || _d === void 0 ? void 0 : _d.itemId })), ((waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemId) && { contentFilter: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemId }))).then((res) => {
13829
+ (getRecommendVideos === null || getRecommendVideos === void 0 ? void 0 : getRecommendVideos({
13830
+ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag
13831
+ }).then((res) => {
13790
13832
  var _a, _b;
13791
13833
  setList(list === null || list === void 0 ? void 0 : list.concat((_b = (_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.filter((item) => !(item === null || item === void 0 ? void 0 : item.video))) !== null && _b !== void 0 ? _b : []));
13792
13834
  setIsLoadingData(false);
@@ -13860,6 +13902,7 @@ function WaterfallList$1(_a) {
13860
13902
  var img$2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAaZJREFUeF7t2jFKBEEQRuG3mSJeQTARURDMTL2EqXfwAnoKD6FHMDEzNVIw2tzQC2gFggyDrExX1V92T7wz9PumFnqbXdH5teq8nwEwJqBzgfEVKDYAW8Ae8NZq3ZUm4Aa4AnaBR+C8BUIVAIu/ngSfAs9LESoAWLgB/LzWwP7SeLtfHWAu3tZ9Adz/dwD3eOUJCIlXBQiLVwQIjVcDCI9XAkiJVwFIi1cASI3PBpjb3jbd5GyyUcraCUrEZ02ATHwGgFR8NIBcfCSAZHwUgGx8BIB0vDeAfLwnQIl4L4Ay8R4ApeJbA2wD78DOZA/e7ABzk739Xz/T8rfAIfA6WYCd3BqA7NUSwCKfgLNKCK0BjoC7rzP74yoIrQGsuxSCB0ApBC+AMgieACUQvAHkESIApBGiAGQRIgEkEaIB5BAyAKQQsgBkEDIBJBCyAdIRFABSEVQA0hCUAFIQ1ADCERQBQhFUAcIQlAFCENQBfkOwg9eXpeftFQDmEOzv8ifARy8A3wiXwAHwANwujbf7q0xAi9bZZwwAN9oiDx4TUORFuS2z+wn4BAiAaEHnKChjAAAAAElFTkSuQmCC";
13861
13903
 
13862
13904
  const WaterfallFlowItem = (props) => {
13905
+ var _a;
13863
13906
  const { rec, index, list, reportTagsView, textStyles, space } = props;
13864
13907
  const { swiperRef, setRtcList, setOpenHashtag, sxpParameter } = useSxpDataSource();
13865
13908
  const [showVideo, setShowVideo] = useState(false);
@@ -13888,16 +13931,19 @@ const WaterfallFlowItem = (props) => {
13888
13931
  return ((_a = rec === null || rec === void 0 ? void 0 : rec.product) === null || _a === void 0 ? void 0 : _a.title) || ((_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.title) || null;
13889
13932
  }, [rec]);
13890
13933
  const priceText = useMemo(() => {
13891
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13892
- if (((_a = rec === null || rec === void 0 ? void 0 : rec.product) === null || _a === void 0 ? void 0 : _a.currency) && ((_b = rec === null || rec === void 0 ? void 0 : rec.product) === null || _b === void 0 ? void 0 : _b.price)) {
13893
- return `${(_f = (_e = (_d = (_c = rec === null || rec === void 0 ? void 0 : rec.product) === null || _c === void 0 ? void 0 : _c.currency) === null || _d === void 0 ? void 0 : _d.split('-')[1]) === null || _e === void 0 ? void 0 : _e.toUpperCase()) !== null && _f !== void 0 ? _f : ''}${(_j = (_h = (_g = rec === null || rec === void 0 ? void 0 : rec.product) === null || _g === void 0 ? void 0 : _g.price) === null || _h === void 0 ? void 0 : _h.toLocaleString('zh', {
13894
- minimumFractionDigits: 0
13895
- })) !== null && _j !== void 0 ? _j : ''}`;
13934
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
13935
+ const isToLocStr = ((_a = textStyles === null || textStyles === void 0 ? void 0 : textStyles.price) === null || _a === void 0 ? void 0 : _a.enableFormattedPrice) === undefined || ((_b = textStyles === null || textStyles === void 0 ? void 0 : textStyles.price) === null || _b === void 0 ? void 0 : _b.enableFormattedPrice);
13936
+ if (((_c = rec === null || rec === void 0 ? void 0 : rec.product) === null || _c === void 0 ? void 0 : _c.currency) && ((_d = rec === null || rec === void 0 ? void 0 : rec.product) === null || _d === void 0 ? void 0 : _d.price)) {
13937
+ return `${(_h = (_g = (_f = (_e = rec === null || rec === void 0 ? void 0 : rec.product) === null || _e === void 0 ? void 0 : _e.currency) === null || _f === void 0 ? void 0 : _f.split('-')[1]) === null || _g === void 0 ? void 0 : _g.toUpperCase()) !== null && _h !== void 0 ? _h : ''}${isToLocStr
13938
+ ? (_l = (_k = (_j = rec === null || rec === void 0 ? void 0 : rec.product) === null || _j === void 0 ? void 0 : _j.price) === null || _k === void 0 ? void 0 : _k.toLocaleString('zh', {
13939
+ minimumFractionDigits: 0
13940
+ })) !== null && _l !== void 0 ? _l : ''
13941
+ : (_m = rec === null || rec === void 0 ? void 0 : rec.product) === null || _m === void 0 ? void 0 : _m.price}`;
13896
13942
  }
13897
13943
  else {
13898
13944
  return null;
13899
13945
  }
13900
- }, [rec]);
13946
+ }, [rec, (_a = textStyles === null || textStyles === void 0 ? void 0 : textStyles.price) === null || _a === void 0 ? void 0 : _a.enableFormattedPrice]);
13901
13947
  // useEffect(() => {
13902
13948
  // if (imgDom.current === null || src === '') {
13903
13949
  // return;
@@ -13997,22 +14043,27 @@ function WaterfallList(_a) {
13997
14043
  const containerRef = useRef(null);
13998
14044
  const [isLoadMore, setIsLoadMore] = useState(false);
13999
14045
  useCallback(() => {
14000
- var _a, _b, _c, _d;
14001
14046
  if (isLoadMore)
14002
14047
  return;
14003
14048
  setIsLoadMore(true);
14004
14049
  waterFallData &&
14005
- (getRecommendVideos === null || getRecommendVideos === void 0 ? void 0 : getRecommendVideos(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_b = (_a = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec) === null || _a === void 0 ? void 0 : _a.product) === null || _b === void 0 ? void 0 : _b.itemId) && { productFilter: (_d = (_c = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec) === null || _c === void 0 ? void 0 : _c.product) === null || _d === void 0 ? void 0 : _d.itemId })), ((waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemId) && { contentFilter: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemId }))).then((res) => {
14050
+ (getRecommendVideos === null || getRecommendVideos === void 0 ? void 0 : getRecommendVideos({
14051
+ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag
14052
+ }).then((res) => {
14006
14053
  var _a;
14007
14054
  setList(list === null || list === void 0 ? void 0 : list.concat((_a = res === null || res === void 0 ? void 0 : res.recList) !== null && _a !== void 0 ? _a : []));
14008
14055
  setIsLoadMore(false);
14009
14056
  }));
14010
14057
  }, [waterFallData, getRecommendVideos, list, isLoadMore]);
14011
14058
  useEffect(() => {
14012
- var _a, _b, _c, _d, _e, _f;
14059
+ var _a, _b;
14013
14060
  setIsLoadingData(true);
14014
14061
  waterFallData &&
14015
- (getRecommendVideos === null || getRecommendVideos === void 0 ? void 0 : getRecommendVideos(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_b = (_a = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec) === null || _a === void 0 ? void 0 : _a.product) === null || _b === void 0 ? void 0 : _b.itemId) && { productFilter: (_d = (_c = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec) === null || _c === void 0 ? void 0 : _c.product) === null || _d === void 0 ? void 0 : _d.itemId })), ((waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemId) && { contentFilter: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemId })), { defaultSize: hashTagSize, maxSize: hashTagSize })).then((res) => {
14062
+ (getRecommendVideos === null || getRecommendVideos === void 0 ? void 0 : getRecommendVideos({
14063
+ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag,
14064
+ defaultSize: hashTagSize,
14065
+ maxSize: hashTagSize
14066
+ }).then((res) => {
14016
14067
  var _a, _b;
14017
14068
  setData(res);
14018
14069
  setList((_b = (_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.filter((item) => (item === null || item === void 0 ? void 0 : item.video) !== null || (item === null || item === void 0 ? void 0 : item.product) !== null)) !== null && _b !== void 0 ? _b : []);
@@ -14021,7 +14072,7 @@ function WaterfallList(_a) {
14021
14072
  if (isOpenHashTag) {
14022
14073
  const res = previewData;
14023
14074
  setData(res);
14024
- setList((_f = (_e = res === null || res === void 0 ? void 0 : res.recList) === null || _e === void 0 ? void 0 : _e.filter((item) => (item === null || item === void 0 ? void 0 : item.video) !== null || (item === null || item === void 0 ? void 0 : item.product) !== null)) !== null && _f !== void 0 ? _f : []);
14075
+ setList((_b = (_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.filter((item) => (item === null || item === void 0 ? void 0 : item.video) !== null || (item === null || item === void 0 ? void 0 : item.product) !== null)) !== null && _b !== void 0 ? _b : []);
14025
14076
  setIsLoadingData(false);
14026
14077
  }
14027
14078
  }, [waterFallData, getRecommendVideos, hashTagSize, isOpenHashTag]);
@@ -14187,7 +14238,7 @@ var WaterFall$1 = memo(WaterFall);
14187
14238
  * @Author: binruan@chatlabs.com
14188
14239
  * @Date: 2024-01-15 19:03:09
14189
14240
  * @LastEditors: binruan@chatlabs.com
14190
- * @LastEditTime: 2024-04-29 19:08:34
14241
+ * @LastEditTime: 2024-08-22 10:15:23
14191
14242
  * @FilePath: \pb-sxp-ui\src\materials\sxp\HashTag\index.tsx
14192
14243
  *
14193
14244
  */
@@ -15820,7 +15871,7 @@ function withBindDataSource(Component) {
15820
15871
  * @Author: binruan@chatlabs.com
15821
15872
  * @Date: 2023-12-26 16:11:34
15822
15873
  * @LastEditors: binruan@chatlabs.com
15823
- * @LastEditTime: 2024-07-29 10:07:08
15874
+ * @LastEditTime: 2024-08-21 15:46:07
15824
15875
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\RenderCard.tsx
15825
15876
  *
15826
15877
  */
@@ -15840,44 +15891,38 @@ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive }
15840
15891
  cta = (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.bindCta) === null || _e === void 0 ? void 0 : _e.itemId;
15841
15892
  }
15842
15893
  const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
15843
- const renderComp = useMemo(() => {
15844
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
15894
+ const renderComp = useCallback(() => {
15895
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
15845
15896
  if (!(rec === null || rec === void 0 ? void 0 : rec.video))
15846
15897
  return null;
15847
- if ((_b = (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) ;
15848
- else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) ;
15849
- else {
15850
- (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.bindCta) === null || _e === void 0 ? void 0 : _e.itemId;
15851
- }
15852
15898
  //如果includesCtaType有值,则只渲染includesCtaType包含的cta类型组件,用于在页面某处只显示某一组件
15853
- if (includesCtaType && !(includesCtaType === null || includesCtaType === void 0 ? void 0 : includesCtaType.includes((_f = value === null || value === void 0 ? void 0 : value.item) === null || _f === void 0 ? void 0 : _f.type)))
15899
+ if (includesCtaType && !(includesCtaType === null || includesCtaType === void 0 ? void 0 : includesCtaType.includes((_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type)))
15854
15900
  return;
15855
15901
  //默认不渲染category为cta类型的组件,该类型的组件只用于某一处
15856
- if (!includesCtaType && ((_g = value === null || value === void 0 ? void 0 : value.item) === null || _g === void 0 ? void 0 : _g.category) === 'cta')
15902
+ if (!includesCtaType && ((_b = value === null || value === void 0 ? void 0 : value.item) === null || _b === void 0 ? void 0 : _b.category) === 'cta')
15857
15903
  return;
15858
- if ((((_h = value === null || value === void 0 ? void 0 : value.item) === null || _h === void 0 ? void 0 : _h.type) === 'CommodityDiro' && !((_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.bindProduct)) ||
15859
- (((_k = value === null || value === void 0 ? void 0 : value.item) === null || _k === void 0 ? void 0 : _k.type) === 'Commodity' && !((_l = rec === null || rec === void 0 ? void 0 : rec.video) === null || _l === void 0 ? void 0 : _l.bindProduct)) ||
15860
- (((_m = value === null || value === void 0 ? void 0 : value.item) === null || _m === void 0 ? void 0 : _m.type) === 'CommodityDiroNew' && !((_o = rec === null || rec === void 0 ? void 0 : rec.video) === null || _o === void 0 ? void 0 : _o.bindProduct)) ||
15861
- (((_p = value === null || value === void 0 ? void 0 : value.item) === null || _p === void 0 ? void 0 : _p.type) === 'MultiCommodity' && !((_r = (_q = rec === null || rec === void 0 ? void 0 : rec.video) === null || _q === void 0 ? void 0 : _q.bindProducts) === null || _r === void 0 ? void 0 : _r.length)) ||
15862
- (((_s = value === null || value === void 0 ? void 0 : value.item) === null || _s === void 0 ? void 0 : _s.type) === 'MultiCommodityDiro' && !((_u = (_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.bindProducts) === null || _u === void 0 ? void 0 : _u.length)) ||
15863
- (((_v = value === null || value === void 0 ? void 0 : value.item) === null || _v === void 0 ? void 0 : _v.type) === 'MultiCommodityDiroNew' && !((_x = (_w = rec === null || rec === void 0 ? void 0 : rec.video) === null || _w === void 0 ? void 0 : _w.bindProducts) === null || _x === void 0 ? void 0 : _x.length))) {
15904
+ if ((((_c = value === null || value === void 0 ? void 0 : value.item) === null || _c === void 0 ? void 0 : _c.type) === 'CommodityDiro' && !((_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.bindProduct)) ||
15905
+ (((_e = value === null || value === void 0 ? void 0 : value.item) === null || _e === void 0 ? void 0 : _e.type) === 'Commodity' && !((_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.bindProduct)) ||
15906
+ (((_g = value === null || value === void 0 ? void 0 : value.item) === null || _g === void 0 ? void 0 : _g.type) === 'CommodityDiroNew' && !((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.bindProduct)) ||
15907
+ (((_j = value === null || value === void 0 ? void 0 : value.item) === null || _j === void 0 ? void 0 : _j.type) === 'MultiCommodity' && !((_l = (_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.bindProducts) === null || _l === void 0 ? void 0 : _l.length)) ||
15908
+ (((_m = value === null || value === void 0 ? void 0 : value.item) === null || _m === void 0 ? void 0 : _m.type) === 'MultiCommodityDiro' && !((_p = (_o = rec === null || rec === void 0 ? void 0 : rec.video) === null || _o === void 0 ? void 0 : _o.bindProducts) === null || _p === void 0 ? void 0 : _p.length)) ||
15909
+ (((_q = value === null || value === void 0 ? void 0 : value.item) === null || _q === void 0 ? void 0 : _q.type) === 'MultiCommodityDiroNew' && !((_s = (_r = rec === null || rec === void 0 ? void 0 : rec.video) === null || _r === void 0 ? void 0 : _r.bindProducts) === null || _s === void 0 ? void 0 : _s.length))) {
15864
15910
  //
15865
15911
  return null;
15866
15912
  }
15867
15913
  if (value && resolver) {
15868
- const t = resolver[(_y = value === null || value === void 0 ? void 0 : value.item) === null || _y === void 0 ? void 0 : _y.type];
15914
+ const t = resolver[(_t = value === null || value === void 0 ? void 0 : value.item) === null || _t === void 0 ? void 0 : _t.type];
15869
15915
  const Component = withBindDataSource(t);
15870
- const defaulSetting = (_z = t === null || t === void 0 ? void 0 : t.extend) === null || _z === void 0 ? void 0 : _z.defaulSetting;
15871
- const isExternalLink = ((_2 = (_1 = (_0 = value === null || value === void 0 ? void 0 : value.item) === null || _0 === void 0 ? void 0 : _0.event) === null || _1 === void 0 ? void 0 : _1.onClick) === null || _2 === void 0 ? void 0 : _2.linkType) === 'externalLink';
15872
- return (React.createElement(Component, Object.assign({ style: Object.assign(Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.style), (_3 = value === null || value === void 0 ? void 0 : value.item) === null || _3 === void 0 ? void 0 : _3.style), { zIndex: 50, marginLeft: '20px', boxSizing: 'border-box', transform: 'translate3d(0px, 0px, 0px)' }), textStyle: Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.textStyle), (_4 = value === null || value === void 0 ? void 0 : value.item) === null || _4 === void 0 ? void 0 : _4.textStyle), bindDatas: (_6 = (_5 = value === null || value === void 0 ? void 0 : value.item) === null || _5 === void 0 ? void 0 : _5.bindDatas) !== null && _6 !== void 0 ? _6 : [] }, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.props, (_7 = value === null || value === void 0 ? void 0 : value.item) === null || _7 === void 0 ? void 0 : _7.props, { event: ((_8 = value === null || value === void 0 ? void 0 : value.item) === null || _8 === void 0 ? void 0 : _8.event) || {}, schema: schema, id: value === null || value === void 0 ? void 0 : value.id, key: value === null || value === void 0 ? void 0 : value.id, recData: rec, isExternalLink: isExternalLink, index: index, isActive: isActive })));
15916
+ const defaulSetting = (_u = t === null || t === void 0 ? void 0 : t.extend) === null || _u === void 0 ? void 0 : _u.defaulSetting;
15917
+ const isExternalLink = ((_x = (_w = (_v = value === null || value === void 0 ? void 0 : value.item) === null || _v === void 0 ? void 0 : _v.event) === null || _w === void 0 ? void 0 : _w.onClick) === null || _x === void 0 ? void 0 : _x.linkType) === 'externalLink';
15918
+ return (React.createElement(Component, Object.assign({ style: Object.assign(Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.style), (_y = value === null || value === void 0 ? void 0 : value.item) === null || _y === void 0 ? void 0 : _y.style), { zIndex: 50, marginLeft: '20px', boxSizing: 'border-box', transform: 'translate3d(0px, 0px, 0px)' }), textStyle: Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.textStyle), (_z = value === null || value === void 0 ? void 0 : value.item) === null || _z === void 0 ? void 0 : _z.textStyle), bindDatas: (_1 = (_0 = value === null || value === void 0 ? void 0 : value.item) === null || _0 === void 0 ? void 0 : _0.bindDatas) !== null && _1 !== void 0 ? _1 : [] }, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.props, (_2 = value === null || value === void 0 ? void 0 : value.item) === null || _2 === void 0 ? void 0 : _2.props, { event: ((_3 = value === null || value === void 0 ? void 0 : value.item) === null || _3 === void 0 ? void 0 : _3.event) || {}, schema: schema, id: value === null || value === void 0 ? void 0 : value.id, key: value === null || value === void 0 ? void 0 : value.id, recData: rec, isExternalLink: isExternalLink, index: index, isActive: isActive })));
15873
15919
  }
15874
15920
  else {
15875
15921
  return null;
15876
15922
  }
15877
15923
  }, [rec, resolver, tempMap, schema, value === null || value === void 0 ? void 0 : value.id, isActive]);
15878
- return React.createElement(React.Fragment, null, renderComp);
15924
+ return React.createElement(React.Fragment, null, renderComp());
15879
15925
  };
15880
- var RenderCard$1 = memo(RenderCard);
15881
15926
 
15882
15927
  /*
15883
15928
  * @Author: binruan@chatlabs.com
@@ -15962,7 +16007,7 @@ var Tagbar$1 = memo(Tagbar);
15962
16007
  * @Author: binruan@chatlabs.com
15963
16008
  * @Date: 2024-01-15 19:03:09
15964
16009
  * @LastEditors: binruan@chatlabs.com
15965
- * @LastEditTime: 2024-08-16 11:47:58
16010
+ * @LastEditTime: 2024-08-22 17:50:06
15966
16011
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
15967
16012
  *
15968
16013
  */
@@ -15979,7 +16024,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
15979
16024
  const [isShowMore, setIsShowMore] = useState(false);
15980
16025
  const [isReload, setIsReload] = useState(new Date().getTime());
15981
16026
  const skipLinkRef = useRef(false);
15982
- const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview } = useSxpDataSource();
16027
+ const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview, isEditor } = useSxpDataSource();
15983
16028
  const { backMainFeed, productView, jumpToWeb } = useEventReport();
15984
16029
  const isShowFingerTip = useMemo(() => {
15985
16030
  return data.length > 0 && !loading && (getFeUserId() || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableSwiperTip));
@@ -16009,6 +16054,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16009
16054
  }, [data.length, bffFbReport, h5EnterLink]);
16010
16055
  useEffect(() => {
16011
16056
  var _a;
16057
+ if (!ctaType || (ctaType === null || ctaType === void 0 ? void 0 : ctaType.length) < 1)
16058
+ return;
16012
16059
  const index = (data === null || data === void 0 ? void 0 : data.findIndex((item) => {
16013
16060
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
16014
16061
  const ctaType0 = ctaType === null || ctaType === void 0 ? void 0 : ctaType[0];
@@ -16022,8 +16069,9 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16022
16069
  return ((_f = (_e = item === null || item === void 0 ? void 0 : item.video) === null || _e === void 0 ? void 0 : _e.bindCta) === null || _f === void 0 ? void 0 : _f.itemId) === ctaType0 && (((_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.url) || ((_j = (_h = item === null || item === void 0 ? void 0 : item.video) === null || _h === void 0 ? void 0 : _h.imgUrls) === null || _j === void 0 ? void 0 : _j.length));
16023
16070
  }
16024
16071
  })) || 0;
16025
- (_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper.slideTo(index);
16026
- }, [ctaType, swiperRef]);
16072
+ if (index !== -1)
16073
+ (_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper.slideTo(index);
16074
+ }, [data, ctaType, swiperRef]);
16027
16075
  useEffect(() => {
16028
16076
  const item = data === null || data === void 0 ? void 0 : data[activeIndex];
16029
16077
  const visibleChange = () => {
@@ -16125,7 +16173,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16125
16173
  }, [globalConfig, containerHeight, tagHeight]);
16126
16174
  const visList = useMemo(() => {
16127
16175
  var _a;
16128
- const list = activeIndex === 0 && !waterFallData
16176
+ const list = activeIndex === 0 && !waterFallData && !isEditor
16129
16177
  ? [(_a = data === null || data === void 0 ? void 0 : data[0]) !== null && _a !== void 0 ? _a : null]
16130
16178
  : data === null || data === void 0 ? void 0 : data.map((item, index) => {
16131
16179
  if (activeIndex === index || index - 1 === activeIndex || index + 1 === activeIndex) {
@@ -16135,8 +16183,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16135
16183
  return null;
16136
16184
  }
16137
16185
  });
16138
- return !waterFallData ? list.concat([{ loading: true }]) : list;
16139
- }, [data, activeIndex, waterFallData]);
16186
+ return !waterFallData && !isEditor ? list.concat([{ loading: true }]) : list;
16187
+ }, [data, activeIndex, waterFallData, isEditor]);
16140
16188
  const renderLogo = useMemo(() => {
16141
16189
  var _a, _b, _c, _d;
16142
16190
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLogo)) {
@@ -16210,12 +16258,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16210
16258
  React.createElement("div", { className: 'clc-sxp-bottom', style: { paddingBottom: `${(_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _b !== void 0 ? _b : 40}px` } },
16211
16259
  React.createElement(Nudge, { nudge: nudge }),
16212
16260
  (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { className: 'clc-sxp-bottom-card' },
16213
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver }))) : null,
16261
+ React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver }))) : null,
16214
16262
  React.createElement("div", null,
16215
16263
  React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_d = (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.title) !== null && _d !== void 0 ? _d : '', style: Object.assign(Object.assign({}, descStyle), { textShadow: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isOpenTextShadow) ? '2px 2px 4px rgba(0, 0, 0, 0.5)' : 'none' }), onChange: onExpandableChange }),
16216
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'] }),
16264
+ React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'] }),
16217
16265
  React.createElement(Hashtag$1, { index: activeIndex, tags: (_f = (_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.hashTags) !== null && _f !== void 0 ? _f : [], itemId: (_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.itemId, itemType: ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle }))),
16218
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
16266
+ React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
16219
16267
  }
16220
16268
  return null;
16221
16269
  }, [
@@ -16299,7 +16347,6 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16299
16347
  };
16300
16348
  const handleScrollEvent = (swiper) => {
16301
16349
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
16302
- viewTime.current = new Date();
16303
16350
  const item = data[swiper.previousIndex];
16304
16351
  if (!item)
16305
16352
  return;
@@ -16340,6 +16387,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16340
16387
  eventName: 'ProductView'
16341
16388
  });
16342
16389
  }
16390
+ viewTime.current = new Date();
16343
16391
  };
16344
16392
  const handleReportProductView = (item) => {
16345
16393
  var _a, _b, _c;
@@ -16349,8 +16397,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16349
16397
  };
16350
16398
  useEffect(() => {
16351
16399
  const item = data[activeIndex];
16352
- if (openHashtag)
16400
+ if (openHashtag) {
16353
16401
  handleReportProductView(item);
16402
+ }
16403
+ else {
16404
+ viewTime.current = new Date();
16405
+ }
16354
16406
  }, [openHashtag, data, activeIndex]);
16355
16407
  const handleViewImageStartEvent = (activeIndex) => {
16356
16408
  var _a, _b, _c, _d, _e, _f;
@@ -16385,6 +16437,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16385
16437
  position: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed) ? 'fixed' : 'absolute',
16386
16438
  visibility: ((_b = (_a = visList === null || visList === void 0 ? void 0 : visList[activeIndex]) === null || _a === void 0 ? void 0 : _a.video) === null || _b === void 0 ? void 0 : _b.url) ? 'visible' : 'hidden',
16387
16439
  zIndex: 999,
16440
+ transform: 'translate3d(0px,0px,0px)',
16388
16441
  [(_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconXPosit) !== null && _c !== void 0 ? _c : 'right']: (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconX) !== null && _d !== void 0 ? _d : 0,
16389
16442
  [(_e = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) !== null && _e !== void 0 ? _e : 'bottom']: (_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconY) !== null && _f !== void 0 ? _f : 23
16390
16443
  }, defaultValue: isMuted, activeIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon : mutedIcon, unactiveIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon : unmutedIcon, onChange: setIsMuted })));
@@ -16403,10 +16456,10 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16403
16456
  alignItems: 'center'
16404
16457
  } },
16405
16458
  React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement(React.Fragment, null,
16406
- renderContent(rec, index),
16407
- renderBottom(rec, index),
16408
16459
  renderLikeButton(rec, index, !(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed)),
16409
- renderToggleButton(!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed))))))));
16460
+ renderToggleButton(!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed)),
16461
+ renderBottom(rec, index),
16462
+ renderContent(rec, index)))))));
16410
16463
  });
16411
16464
  }, [
16412
16465
  containerWidth,
@@ -16442,9 +16495,9 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16442
16495
  return;
16443
16496
  // 处理上滑下滑事件
16444
16497
  handleScrollEvent(swiper);
16445
- if (waterFallData)
16498
+ if (waterFallData || isEditor)
16446
16499
  return;
16447
- if ((swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) + 2 >= (data === null || data === void 0 ? void 0 : data.length)) {
16500
+ if ((swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) + 1 >= (data === null || data === void 0 ? void 0 : data.length)) {
16448
16501
  if (!isLoadMore) {
16449
16502
  setIsLoadMore(true);
16450
16503
  loadVideos === null || loadVideos === void 0 ? void 0 : loadVideos(Math.ceil(activeIndex / 10) + 1).then(() => {
@@ -16750,7 +16803,7 @@ const DiyPortalPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, de
16750
16803
  const CTA = (rec, index) => {
16751
16804
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) {
16752
16805
  return (React.createElement("div", { className: 'clc-sxp-bottom-card' },
16753
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1 })));
16806
+ React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1 })));
16754
16807
  }
16755
16808
  return null;
16756
16809
  };
@@ -16940,7 +16993,7 @@ var index = memo(SxpPageCore);
16940
16993
  * @Author: binruan@chatlabs.com
16941
16994
  * @Date: 2023-12-26 10:38:53
16942
16995
  * @LastEditors: binruan@chatlabs.com
16943
- * @LastEditTime: 2024-06-25 11:20:15
16996
+ * @LastEditTime: 2024-08-22 11:32:23
16944
16997
  * @FilePath: \pb-sxp-ui\src\core\context\EditorDataProvider.tsx
16945
16998
  *
16946
16999
  */
@@ -16970,7 +17023,8 @@ const EditorDataProvider = ({ children, data }) => {
16970
17023
  setOpenHashtag,
16971
17024
  openConsent,
16972
17025
  setOpenConsent,
16973
- sxpFontLinks: data === null || data === void 0 ? void 0 : data.sxpFontLinks
17026
+ sxpFontLinks: data === null || data === void 0 ? void 0 : data.sxpFontLinks,
17027
+ utmParameter: data === null || data === void 0 ? void 0 : data.utm_parameter
16974
17028
  } }, children));
16975
17029
  };
16976
17030
  function useEditorDataProvider() {