pb-sxp-ui 1.10.5 → 1.10.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +57 -72
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +57 -72
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +4 -4
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.js +4 -4
- package/dist/index.min.js.map +1 -1
- package/dist/pb-ui.js +57 -72
- package/dist/pb-ui.js.map +1 -1
- package/dist/pb-ui.min.js +4 -4
- package/dist/pb-ui.min.js.map +1 -1
- package/es/core/Pagebuilder/type.d.ts +1 -0
- package/es/core/components/SxpPageRender/FingerSwipeTip/index.js +1 -2
- package/es/core/components/SxpPageRender/FormatImage.js +7 -9
- package/es/core/components/SxpPageRender/LikeButton/index.js +1 -2
- package/es/core/components/SxpPageRender/Modal/index.js +1 -2
- package/es/core/components/SxpPageRender/NavBack.js +1 -2
- package/es/core/components/SxpPageRender/Nudge/index.js +2 -2
- package/es/core/components/SxpPageRender/ToggleButton/index.js +1 -2
- package/es/core/components/SxpPageRender/VideoWidget/index.js +1 -3
- package/es/core/components/SxpPageRender/index.js +12 -10
- package/es/core/context/EditorDataProvider.d.ts +3 -2
- package/es/core/context/SxpDataSourceProvider.d.ts +1 -0
- package/es/core/context/SxpDataSourceProvider.js +19 -4
- package/es/core/utils/tool.d.ts +1 -2
- package/es/core/utils/tool.js +1 -14
- package/es/materials/sxp/MultiPosts/index.js +7 -10
- package/es/materials/sxp/cta/AniLinkPopup/index.js +2 -2
- package/lib/core/Pagebuilder/type.d.ts +1 -0
- package/lib/core/components/SxpPageRender/FingerSwipeTip/index.js +1 -2
- package/lib/core/components/SxpPageRender/FormatImage.js +7 -9
- package/lib/core/components/SxpPageRender/LikeButton/index.js +1 -2
- package/lib/core/components/SxpPageRender/Modal/index.js +1 -2
- package/lib/core/components/SxpPageRender/NavBack.js +1 -2
- package/lib/core/components/SxpPageRender/Nudge/index.js +1 -1
- package/lib/core/components/SxpPageRender/ToggleButton/index.js +1 -2
- package/lib/core/components/SxpPageRender/VideoWidget/index.js +1 -3
- package/lib/core/components/SxpPageRender/index.js +12 -10
- package/lib/core/context/EditorDataProvider.d.ts +3 -2
- package/lib/core/context/SxpDataSourceProvider.d.ts +1 -0
- package/lib/core/context/SxpDataSourceProvider.js +19 -4
- package/lib/core/utils/tool.d.ts +1 -2
- package/lib/core/utils/tool.js +1 -15
- package/lib/materials/sxp/MultiPosts/index.js +7 -10
- package/lib/materials/sxp/cta/AniLinkPopup/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
@@ -331,19 +331,6 @@ function getScreenReader() {
|
|
331
331
|
/JAWS/i.test(userAgent) ||
|
332
332
|
/ChromeVox/i.test(userAgent));
|
333
333
|
}
|
334
|
-
const getSpliceQueryUrl = (url) => {
|
335
|
-
if (!url)
|
336
|
-
return '';
|
337
|
-
if ((url === null || url === void 0 ? void 0 : url.indexOf('http')) === -1)
|
338
|
-
return url;
|
339
|
-
let query = 'x-im-piez=on';
|
340
|
-
if ((url === null || url === void 0 ? void 0 : url.indexOf('?')) !== -1) {
|
341
|
-
return url + ('&' + query );
|
342
|
-
}
|
343
|
-
else {
|
344
|
-
return url + ('?' + query );
|
345
|
-
}
|
346
|
-
};
|
347
334
|
|
348
335
|
function unzip(b64Data) {
|
349
336
|
const strData = atob(b64Data);
|
@@ -685,6 +672,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
685
672
|
const [videoRef, setVideoRef] = React.useState(null);
|
686
673
|
const themeTag = React.useRef();
|
687
674
|
const curTime = React.useRef();
|
675
|
+
const multiPostTimeRef = React.useRef();
|
688
676
|
const [selectTag, setSelectTag] = React.useState(DEFAULT_TAG);
|
689
677
|
const checkCommodityIndexRef = React.useRef(-1);
|
690
678
|
const popupCurTimeRef = React.useRef(null);
|
@@ -968,7 +956,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
968
956
|
body: jsonParams,
|
969
957
|
type: 'beacon'
|
970
958
|
});
|
971
|
-
}, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview]);
|
959
|
+
}, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview, globalConfig]);
|
972
960
|
const bffMutateLike = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
|
973
961
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/recommend/like', { method: 'POST', body }));
|
974
962
|
return res === null || res === void 0 ? void 0 : res.success;
|
@@ -1061,7 +1049,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
1061
1049
|
let pbType;
|
1062
1050
|
getRecommendVideos()
|
1063
1051
|
.then((data) => {
|
1064
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l
|
1052
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
1065
1053
|
if (data) {
|
1066
1054
|
const list = getFilterRecList(data);
|
1067
1055
|
let curData;
|
@@ -1104,14 +1092,27 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
1104
1092
|
setCacheRtcList(list);
|
1105
1093
|
bffGetTagList(curData !== null && curData !== void 0 ? curData : finalPageData);
|
1106
1094
|
if (channel) {
|
1095
|
+
const item = list === null || list === void 0 ? void 0 : list[0];
|
1096
|
+
const traceInfo = ((_k = item === null || item === void 0 ? void 0 : item.video) === null || _k === void 0 ? void 0 : _k.traceInfo) || ((_l = item === null || item === void 0 ? void 0 : item.product) === null || _l === void 0 ? void 0 : _l.traceInfo) || '';
|
1107
1097
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
1108
1098
|
eventInfo: {
|
1109
1099
|
eventSubject: 'multiPostClick',
|
1110
1100
|
eventDescription: 'multiPostClick',
|
1111
|
-
traceInfo
|
1101
|
+
traceInfo,
|
1112
1102
|
branchfeed: channel
|
1113
1103
|
}
|
1114
1104
|
});
|
1105
|
+
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
1106
|
+
eventInfo: {
|
1107
|
+
eventSubject: 'endMultiPost',
|
1108
|
+
eventDescription: 'endMultiPost',
|
1109
|
+
contentFormat: 'image',
|
1110
|
+
position: '0',
|
1111
|
+
traceInfo,
|
1112
|
+
nextStep: 'multipostClick',
|
1113
|
+
timeOnSite: Math.floor((new Date() - (multiPostTimeRef === null || multiPostTimeRef === void 0 ? void 0 : multiPostTimeRef.current)) / 1000) + ''
|
1114
|
+
}
|
1115
|
+
});
|
1115
1116
|
}
|
1116
1117
|
}
|
1117
1118
|
})
|
@@ -1195,7 +1196,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
1195
1196
|
updateChannel,
|
1196
1197
|
channel,
|
1197
1198
|
eventTimeList,
|
1198
|
-
setEventTimeList
|
1199
|
+
setEventTimeList,
|
1200
|
+
multiPostTimeRef
|
1199
1201
|
} }, isShowConsent ? (React.createElement(Consent$4, Object.assign({}, (_e = (_d = (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.item) === null || _e === void 0 ? void 0 : _e.props))) : (render({
|
1200
1202
|
rtcList,
|
1201
1203
|
mutateLike: bffMutateLike,
|
@@ -9800,7 +9802,7 @@ SwiperSlide.displayName = 'SwiperSlide';
|
|
9800
9802
|
* @Author: binruan@chatlabs.com
|
9801
9803
|
* @Date: 2023-11-02 18:34:34
|
9802
9804
|
* @LastEditors: binruan@chatlabs.com
|
9803
|
-
* @LastEditTime: 2024-
|
9805
|
+
* @LastEditTime: 2024-11-20 18:37:10
|
9804
9806
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Modal\index.tsx
|
9805
9807
|
*
|
9806
9808
|
*/
|
@@ -9984,7 +9986,7 @@ const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema,
|
|
9984
9986
|
}
|
9985
9987
|
})), child()),
|
9986
9988
|
React.createElement("button", { className: 'modal-icon-wrapper', role: 'button', "aria-label": 'close button', onClick: onClose, style: { top: scrollTop } },
|
9987
|
-
React.createElement("img", { src:
|
9989
|
+
React.createElement("img", { src: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) || closeIcon$1, alt: 'close button', className: 'modal-icon' }))))))), modalEleRef.current);
|
9988
9990
|
};
|
9989
9991
|
var Modal$1 = React.memo(Modal);
|
9990
9992
|
|
@@ -10057,20 +10059,19 @@ var ExpandableText$1 = React.memo(ExpandableText);
|
|
10057
10059
|
|
10058
10060
|
const FormatImage = React.forwardRef((props, ref) => {
|
10059
10061
|
const { src, onLoad, style, className, loading, alt = 'image' } = props;
|
10060
|
-
const
|
10061
|
-
const [imgSrc, setImgSrc] = React.useState(querySrc);
|
10062
|
+
const [imgSrc, setImgSrc] = React.useState(src);
|
10062
10063
|
const imgRef = React.useRef(null);
|
10063
10064
|
const [visible, setVisible] = React.useState(false);
|
10064
10065
|
React.useImperativeHandle(ref, () => ({
|
10065
10066
|
setSrc: (v) => {
|
10066
10067
|
if (v)
|
10067
|
-
setImgSrc(
|
10068
|
+
setImgSrc(v);
|
10068
10069
|
}
|
10069
10070
|
}));
|
10070
10071
|
React.useEffect(() => {
|
10071
|
-
if (
|
10072
|
-
setImgSrc(
|
10073
|
-
}, [
|
10072
|
+
if (src)
|
10073
|
+
setImgSrc(src);
|
10074
|
+
}, [src]);
|
10074
10075
|
React.useEffect(() => {
|
10075
10076
|
const onShow = () => {
|
10076
10077
|
if (src && !visible && imgRef.current) {
|
@@ -10087,8 +10088,8 @@ const FormatImage = React.forwardRef((props, ref) => {
|
|
10087
10088
|
!visible && !imgSrc && React.createElement("div", { style: { width: '100%', height: '100%', zIndex: 1, backgroundColor: '#fff' } }),
|
10088
10089
|
(imgSrc === null || imgSrc === void 0 ? void 0 : imgSrc.includes('.avif')) ? (React.createElement("picture", null,
|
10089
10090
|
React.createElement("source", { type: 'image/avif', srcSet: imgSrc }),
|
10090
|
-
React.createElement("source", { type: 'image/webp', srcSet: `${imgSrc}
|
10091
|
-
React.createElement("source", { type: 'image/jpeg', srcSet: `${imgSrc}
|
10091
|
+
React.createElement("source", { type: 'image/webp', srcSet: `${imgSrc}?imageMogr2/format/webp` }),
|
10092
|
+
React.createElement("source", { type: 'image/jpeg', srcSet: `${imgSrc}?imageMogr2/format/jpg` }),
|
10092
10093
|
React.createElement("img", { ref: imgRef, className: className, src: imgSrc, style: Object.assign({}, style), loading: loading, onLoad: (e) => {
|
10093
10094
|
setVisible(true);
|
10094
10095
|
onLoad === null || onLoad === void 0 ? void 0 : onLoad(e.target);
|
@@ -16323,7 +16324,7 @@ const AniLinkPopup$1 = (_a) => {
|
|
16323
16324
|
paddingLeft: '6px'
|
16324
16325
|
} }, "Cta Title")) : (React.createElement("div", Object.assign({}, props, { className: `${css.css(Object.assign(Object.assign({}, style), { '--transY': `translateY(calc(100% + ${(_r = style === null || style === void 0 ? void 0 : style.margin) !== null && _r !== void 0 ? _r : 0}px))` }))} ${styles['aniLinkPopup']} ${aniNamStyle} ${css.css(aniTimStyle)}`, onClick: handleTo }),
|
16325
16326
|
React.createElement("div", { onClick: onClose, className: styles['modal-icon-wrapper'], style: { padding: (_s = style === null || style === void 0 ? void 0 : style['padding']) !== null && _s !== void 0 ? _s : 0 } },
|
16326
|
-
React.createElement("img", { src:
|
16327
|
+
React.createElement("img", { src: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) || closeIcon, alt: 'close', className: styles['modal-icon-wrapper-img'] })),
|
16327
16328
|
React.createElement(Img$1, { src: src, rec: recData, item: (_x = (_v = (_u = (_t = recData === null || recData === void 0 ? void 0 : recData.video) === null || _t === void 0 ? void 0 : _t.bindProducts) === null || _u === void 0 ? void 0 : _u[0]) !== null && _v !== void 0 ? _v : (_w = recData === null || recData === void 0 ? void 0 : recData.video) === null || _w === void 0 ? void 0 : _w.bindProduct) !== null && _x !== void 0 ? _x : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
|
16328
16329
|
(!recData || (product === null || product === void 0 ? void 0 : product.title)) && (React.createElement("div", { className: styles['one-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
16329
16330
|
__html: setFontForText((_y = product === null || product === void 0 ? void 0 : product.title) !== null && _y !== void 0 ? _y : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
|
@@ -16634,7 +16635,7 @@ var settingRender$1 = [
|
|
16634
16635
|
* @Author: binruan@chatlabs.com
|
16635
16636
|
* @Date: 2023-12-26 10:38:53
|
16636
16637
|
* @LastEditors: binruan@chatlabs.com
|
16637
|
-
* @LastEditTime: 2024-
|
16638
|
+
* @LastEditTime: 2024-10-29 18:04:27
|
16638
16639
|
* @FilePath: \pb-sxp-ui\src\core\context\EditorDataProvider.tsx
|
16639
16640
|
*
|
16640
16641
|
*/
|
@@ -16889,11 +16890,10 @@ var settingRender = [
|
|
16889
16890
|
const MultiPosts$1 = (_a) => {
|
16890
16891
|
var _b, _c;
|
16891
16892
|
var { bgImgUrl, style, recData } = _a, props = __rest(_a, ["bgImgUrl", "style", "recData"]);
|
16892
|
-
const { bffEventReport, curTime, updateChannel } = useSxpDataSource();
|
16893
|
+
const { bffEventReport, curTime, updateChannel, multiPostTimeRef } = useSxpDataSource();
|
16893
16894
|
const { isActive } = useSwiperSlide() || {};
|
16894
16895
|
const initRef = React.useRef(false);
|
16895
|
-
const
|
16896
|
-
const traceInfo = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.traceInfo) !== null && _c !== void 0 ? _c : '';
|
16896
|
+
const traceInfo = ((_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.traceInfo) || ((_c = recData === null || recData === void 0 ? void 0 : recData.product) === null || _c === void 0 ? void 0 : _c.traceInfo) || '';
|
16897
16897
|
const getPropsVal = React.useCallback((index, str) => {
|
16898
16898
|
try {
|
16899
16899
|
return new Function('props', 'str', `if (str) {
|
@@ -16910,7 +16910,6 @@ const MultiPosts$1 = (_a) => {
|
|
16910
16910
|
if (!value)
|
16911
16911
|
return;
|
16912
16912
|
if ((v === null || v === void 0 ? void 0 : v.linkType) === 'recommendFlow') {
|
16913
|
-
endMultiPost('multipostClick');
|
16914
16913
|
updateChannel === null || updateChannel === void 0 ? void 0 : updateChannel(value);
|
16915
16914
|
curTime.current = new Date();
|
16916
16915
|
}
|
@@ -16919,12 +16918,12 @@ const MultiPosts$1 = (_a) => {
|
|
16919
16918
|
}
|
16920
16919
|
}, [props]);
|
16921
16920
|
const startMultiPost = React.useCallback(() => {
|
16922
|
-
|
16921
|
+
multiPostTimeRef.current = new Date();
|
16923
16922
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
16924
16923
|
eventInfo: {
|
16925
16924
|
eventSubject: 'startMultiPost',
|
16926
16925
|
eventDescription: 'startMultiPost',
|
16927
|
-
contentFormat: '
|
16926
|
+
contentFormat: 'image',
|
16928
16927
|
position: '0',
|
16929
16928
|
traceInfo
|
16930
16929
|
}
|
@@ -16936,11 +16935,11 @@ const MultiPosts$1 = (_a) => {
|
|
16936
16935
|
eventInfo: {
|
16937
16936
|
eventSubject: 'endMultiPost',
|
16938
16937
|
eventDescription: 'endMultiPost',
|
16939
|
-
contentFormat: '
|
16938
|
+
contentFormat: 'image',
|
16940
16939
|
position: '0',
|
16941
16940
|
traceInfo,
|
16942
16941
|
nextStep: nextStep || 'others',
|
16943
|
-
timeOnSite: Math.floor((new Date() - (
|
16942
|
+
timeOnSite: Math.floor((new Date() - (multiPostTimeRef === null || multiPostTimeRef === void 0 ? void 0 : multiPostTimeRef.current)) / 1000) + ''
|
16944
16943
|
}
|
16945
16944
|
});
|
16946
16945
|
}, []);
|
@@ -16967,7 +16966,7 @@ const MultiPosts$1 = (_a) => {
|
|
16967
16966
|
}, [isActive]);
|
16968
16967
|
return (React.createElement("div", { className: 'multiposts', style: Object.assign(Object.assign({}, style), getBgStyle(bgImgUrl)) }, Array.from({ length: 4 }, (_, index) => {
|
16969
16968
|
return (React.createElement("button", { hidden: !getPropsVal(index, 'Url'), className: 'multiposts-btn', role: 'button', "aria-label": `multiposts-${index + 1}`, onClick: () => handleClick(index) },
|
16970
|
-
React.createElement("img", { className: 'multiposts-btn-img', src:
|
16969
|
+
React.createElement("img", { className: 'multiposts-btn-img', src: getPropsVal(index, 'Url'), alt: `multiposts-img-${index + 1}` })));
|
16971
16970
|
})));
|
16972
16971
|
};
|
16973
16972
|
var MultiPosts$2 = React.memo(MultiPosts$1);
|
@@ -17154,7 +17153,7 @@ const LikeButton = (_a) => {
|
|
17154
17153
|
}
|
17155
17154
|
}), 200);
|
17156
17155
|
return (React.createElement("button", Object.assign({}, props, { "aria-label": 'like', onClick: handleClick }),
|
17157
|
-
React.createElement("img", { style: { width: '100%', height: '100%', objectFit: 'contain' }, src:
|
17156
|
+
React.createElement("img", { style: { width: '100%', height: '100%', objectFit: 'contain' }, src: state ? activeIcon || likeIcon : unActicveIcon || unlikeIcon, alt: 'icon' })));
|
17158
17157
|
};
|
17159
17158
|
var LikeButton$1 = React.memo(LikeButton);
|
17160
17159
|
|
@@ -17368,10 +17367,9 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
17368
17367
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
17369
17368
|
if (!isActive)
|
17370
17369
|
return;
|
17371
|
-
|
17370
|
+
const videoSrc = rec === null || rec === void 0 ? void 0 : rec.video.url;
|
17372
17371
|
if (!videoSrc)
|
17373
17372
|
return;
|
17374
|
-
videoSrc = getSpliceQueryUrl(videoSrc);
|
17375
17373
|
const videoPlayerWrapperNode = document.querySelector(`#${videoId}`);
|
17376
17374
|
if (!videoPlayerWrapperNode)
|
17377
17375
|
return;
|
@@ -17555,7 +17553,7 @@ const ToggleButton = ({ defaultValue, activeIcon, unactiveIcon, onChange, style
|
|
17555
17553
|
setIsTure(defaultValue);
|
17556
17554
|
}, [defaultValue]);
|
17557
17555
|
return (React.createElement("button", { style: style, "aria-label": 'toggle button', className: 'pb-toggle-button', onClick: handleClick },
|
17558
|
-
React.createElement("img", { className: 'pb-toggle-button-icon', alt: 'toggle image', src:
|
17556
|
+
React.createElement("img", { className: 'pb-toggle-button-icon', alt: 'toggle image', src: isTrue ? activeIcon : unactiveIcon })));
|
17559
17557
|
};
|
17560
17558
|
var ToggleButton$1 = React.memo(ToggleButton);
|
17561
17559
|
|
@@ -17563,7 +17561,7 @@ var ToggleButton$1 = React.memo(ToggleButton);
|
|
17563
17561
|
* @Author: binruan@chatlabs.com
|
17564
17562
|
* @Date: 2024-01-15 19:03:09
|
17565
17563
|
* @LastEditors: binruan@chatlabs.com
|
17566
|
-
* @LastEditTime: 2024-
|
17564
|
+
* @LastEditTime: 2024-07-11 18:19:29
|
17567
17565
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\FingerSwipeTip\index.tsx
|
17568
17566
|
*
|
17569
17567
|
*/
|
@@ -17580,7 +17578,7 @@ const FingerSwipeTip = ({ imageUrl, style, duration = 2000 }) => {
|
|
17580
17578
|
return show ? 'pb-fadeIn' : 'pb-fadeOut';
|
17581
17579
|
}, [show]);
|
17582
17580
|
return (React.createElement("div", { hidden: !show, className: `pb-finger-wrap ${animationCls}`, style: Object.assign(Object.assign({}, style), { animationDuration: `${duration / 1000}s` }) },
|
17583
|
-
React.createElement("img", { src:
|
17581
|
+
React.createElement("img", { src: imageUrl || FINGER_SWIPE_ICON, alt: 'finger swiper' })));
|
17584
17582
|
};
|
17585
17583
|
|
17586
17584
|
/*
|
@@ -17887,7 +17885,7 @@ var RenderCard$1 = React.memo(RenderCard);
|
|
17887
17885
|
* @Author: binruan@chatlabs.com
|
17888
17886
|
* @Date: 2024-03-26 10:07:41
|
17889
17887
|
* @LastEditors: binruan@chatlabs.com
|
17890
|
-
* @LastEditTime: 2024-
|
17888
|
+
* @LastEditTime: 2024-07-03 10:07:29
|
17891
17889
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Nudge\index.tsx
|
17892
17890
|
*
|
17893
17891
|
*/
|
@@ -17900,7 +17898,7 @@ const Nudge = ({ nudge }) => {
|
|
17900
17898
|
backgroundColor: nudge === null || nudge === void 0 ? void 0 : nudge.backgroundColor,
|
17901
17899
|
borderRadius: (_f = nudge === null || nudge === void 0 ? void 0 : nudge.borderRadius) !== null && _f !== void 0 ? _f : 4
|
17902
17900
|
} },
|
17903
|
-
(nudge === null || nudge === void 0 ? void 0 : nudge.icon) ? (React.createElement("img", { src:
|
17901
|
+
(nudge === null || nudge === void 0 ? void 0 : nudge.icon) ? (React.createElement("img", { src: nudge.icon, alt: 'nudge icon', style: { height: '100%', objectFit: 'cover', flexShrink: 0 } })) : null,
|
17904
17902
|
React.createElement("p", { style: Object.assign(Object.assign({}, nudge === null || nudge === void 0 ? void 0 : nudge.textStyle), { textWrap: 'nowrap', textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap', flex: 1, marginBottom: 0, marginTop: 0 }), dangerouslySetInnerHTML: {
|
17905
17903
|
__html: setFontForText(nudge === null || nudge === void 0 ? void 0 : nudge.content, nudge === null || nudge === void 0 ? void 0 : nudge.textStyle)
|
17906
17904
|
} })))));
|
@@ -17993,26 +17991,10 @@ const NavBack = ({ data, minusHeight, tagHeight, onClick }) => {
|
|
17993
17991
|
padding: 0,
|
17994
17992
|
background: 'transparent'
|
17995
17993
|
}, role: 'button', "aria-label": 'back button', onClick: onClick },
|
17996
|
-
React.createElement("img", { src:
|
17994
|
+
React.createElement("img", { src: (data === null || data === void 0 ? void 0 : data.icon) || img, alt: 'back button', width: 100, style: { objectFit: 'cover' } })));
|
17997
17995
|
};
|
17998
17996
|
var NavBack$1 = React.memo(NavBack);
|
17999
17997
|
|
18000
|
-
/*
|
18001
|
-
* @Author: binruan@chatlabs.com
|
18002
|
-
* @Date: 2024-03-20 10:27:31
|
18003
|
-
* @LastEditors: binruan@chatlabs.com
|
18004
|
-
* @LastEditTime: 2024-12-04 11:30:35
|
18005
|
-
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
18006
|
-
*
|
18007
|
-
*/
|
18008
|
-
/*
|
18009
|
-
* @Author: binruan@chatlabs.com
|
18010
|
-
* @Date: 2024-03-20 10:27:31
|
18011
|
-
* @LastEditors: binruan@chatlabs.com
|
18012
|
-
* @LastEditTime: 2024-12-03 15:27:20
|
18013
|
-
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
18014
|
-
*
|
18015
|
-
*/
|
18016
17998
|
const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.innerHeight, containerWidth = window.innerWidth, tempMap, resolver, data = [], ctaType, tipText, nudge, _schema, hashTagStyle, hashTagRightMargin, tagList = [], licenseUrl }) => {
|
18017
17999
|
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;
|
18018
18000
|
const mutedIcon = useIconLink('/pb_static/5beaaa5ce7f3477b99db3838619cc471.png');
|
@@ -18101,7 +18083,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18101
18083
|
else if (item === null || item === void 0 ? void 0 : item.product) {
|
18102
18084
|
fromKName = 'productPage';
|
18103
18085
|
}
|
18104
|
-
if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.playbook) !== 'organic menu' || activeIndex !== 0) {
|
18086
|
+
if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.playbook) !== 'organic menu' || activeIndex !== 0 || channel) {
|
18105
18087
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
18106
18088
|
eventInfo: {
|
18107
18089
|
sessionDuration: Math.floor((new Date() - curTime.current) / 1000) + '',
|
@@ -18147,7 +18129,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18147
18129
|
backMainFeed,
|
18148
18130
|
openHashtag,
|
18149
18131
|
isShowConsent,
|
18150
|
-
selectTag
|
18132
|
+
selectTag,
|
18133
|
+
channel
|
18151
18134
|
]);
|
18152
18135
|
const tagHeight = React.useMemo(() => {
|
18153
18136
|
let h = 0;
|
@@ -18200,7 +18183,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18200
18183
|
new Function(link)();
|
18201
18184
|
}
|
18202
18185
|
})),
|
18203
|
-
React.createElement("img", { src:
|
18186
|
+
React.createElement("img", { src: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl, alt: 'logo' })));
|
18204
18187
|
}
|
18205
18188
|
return null;
|
18206
18189
|
}, [globalConfig, activeIndex, visList]);
|
@@ -18490,7 +18473,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18490
18473
|
const renderView = React.useMemo(() => {
|
18491
18474
|
if (loading) {
|
18492
18475
|
return (React.createElement("div", { style: { height, width: containerWidth, display: 'flex', justifyContent: 'center', alignItems: 'center' } },
|
18493
|
-
React.createElement("img", { width: 64, height: 64, src:
|
18476
|
+
React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } })));
|
18494
18477
|
}
|
18495
18478
|
return visList === null || visList === void 0 ? void 0 : visList.map((rec, index) => {
|
18496
18479
|
return (React.createElement(SwiperSlide, { key: index, virtualIndex: index, style: { overflow: 'hidden' } }, rec && (React.createElement(React.Fragment, null, (rec === null || rec === void 0 ? void 0 : rec.loading) ? (React.createElement("div", { style: {
|
@@ -18500,7 +18483,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18500
18483
|
justifyContent: 'center',
|
18501
18484
|
alignItems: 'center'
|
18502
18485
|
} },
|
18503
|
-
React.createElement("img", { width: 64, height: 64, src:
|
18486
|
+
React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement(React.Fragment, null,
|
18504
18487
|
renderBottom(rec, index),
|
18505
18488
|
renderLikeButton(rec, index, !(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed)),
|
18506
18489
|
renderToggleButton(!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed)),
|
@@ -18530,14 +18513,16 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18530
18513
|
React.createElement(Tagbar$1, { tagList: tagList, setActiveIndex: setActiveIndex, style: {
|
18531
18514
|
top: minusHeight
|
18532
18515
|
} }),
|
18533
|
-
((_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _f === void 0 ? void 0 : _f.enable) && !channel && !openMultiPosts && (React.createElement(NavBack$1, { data: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton, minusHeight: minusHeight, tagHeight: tagHeight, onClick: () => history === null || history === void 0 ? void 0 : history.back() })),
|
18534
|
-
((((_l = (_k = (_j = (_h = (_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.item) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.backButton) === null || _l === void 0 ? void 0 : _l.enable) && channel) || openMultiPosts) &&
|
18535
|
-
|
18516
|
+
((_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _f === void 0 ? void 0 : _f.enable) && !channel && !openMultiPosts && !waterFallData && (React.createElement(NavBack$1, { data: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton, minusHeight: minusHeight, tagHeight: tagHeight, onClick: () => history === null || history === void 0 ? void 0 : history.back() })),
|
18517
|
+
((((_l = (_k = (_j = (_h = (_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.item) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.backButton) === null || _l === void 0 ? void 0 : _l.enable) && channel) || openMultiPosts) &&
|
18518
|
+
!waterFallData && (React.createElement(NavBack$1, { data: (_q = (_p = (_o = (_m = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.item) === null || _p === void 0 ? void 0 : _p.props) === null || _q === void 0 ? void 0 : _q.backButton, minusHeight: minusHeight, tagHeight: tagHeight, onClick: () => {
|
18519
|
+
var _a, _b;
|
18520
|
+
const item = visList === null || visList === void 0 ? void 0 : visList[activeIndex];
|
18536
18521
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
18537
18522
|
eventInfo: {
|
18538
18523
|
eventSubject: 'backMultiPostClick',
|
18539
18524
|
eventDescription: 'backMultiPostClick',
|
18540
|
-
traceInfo: (
|
18525
|
+
traceInfo: ((_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.traceInfo) || ((_b = item === null || item === void 0 ? void 0 : item.product) === null || _b === void 0 ? void 0 : _b.traceInfo) || ''
|
18541
18526
|
}
|
18542
18527
|
});
|
18543
18528
|
location === null || location === void 0 ? void 0 : location.reload();
|