Merge remote-tracking branch 'gitlab/develop_si' into develop_si
This commit is contained in:
@@ -33,25 +33,24 @@ import {
|
|||||||
setHidePopup,
|
setHidePopup,
|
||||||
setShowPopup,
|
setShowPopup,
|
||||||
} from '../../../actions/commonActions.js';
|
} from '../../../actions/commonActions.js';
|
||||||
import {
|
|
||||||
sendLogGNB,
|
|
||||||
sendLogDetail,
|
|
||||||
sendLogTotalRecommend,
|
|
||||||
sendLogProductDetail,
|
|
||||||
sendLogShopByMobile,
|
|
||||||
} from '../../../actions/logActions';
|
|
||||||
import { updatePanel } from '../../../actions/panelActions';
|
|
||||||
import { panel_names, LOG_CONTEXT_NAME, LOG_MESSAGE_ID, LOG_TP_NO } from '../../../utils/Config';
|
|
||||||
import {
|
import {
|
||||||
getProductCouponDownload,
|
getProductCouponDownload,
|
||||||
getProductCouponSearch,
|
getProductCouponSearch,
|
||||||
getProductCouponTotDownload,
|
getProductCouponTotDownload,
|
||||||
} from '../../../actions/couponActions.js';
|
} from '../../../actions/couponActions.js';
|
||||||
|
import {
|
||||||
|
sendLogDetail,
|
||||||
|
sendLogGNB,
|
||||||
|
sendLogProductDetail,
|
||||||
|
sendLogShopByMobile,
|
||||||
|
sendLogTotalRecommend,
|
||||||
|
} from '../../../actions/logActions';
|
||||||
// import { pushPanel } from '../../../actions/panelActions';
|
// import { pushPanel } from '../../../actions/panelActions';
|
||||||
import {
|
import {
|
||||||
minimizeModalMedia,
|
minimizeModalMedia,
|
||||||
restoreModalMedia,
|
restoreModalMedia,
|
||||||
} from '../../../actions/mediaActions';
|
} from '../../../actions/mediaActions';
|
||||||
|
import { updatePanel } from '../../../actions/panelActions';
|
||||||
import { pauseFullscreenVideo } from '../../../actions/playActions';
|
import { pauseFullscreenVideo } from '../../../actions/playActions';
|
||||||
import { resetShowAllReviews } from '../../../actions/productActions';
|
import { resetShowAllReviews } from '../../../actions/productActions';
|
||||||
import {
|
import {
|
||||||
@@ -67,8 +66,13 @@ import TVirtualGridList
|
|||||||
from '../../../components/TVirtualGridList/TVirtualGridList.jsx';
|
from '../../../components/TVirtualGridList/TVirtualGridList.jsx';
|
||||||
import useReviews from '../../../hooks/useReviews/useReviews';
|
import useReviews from '../../../hooks/useReviews/useReviews';
|
||||||
import useScrollTo from '../../../hooks/useScrollTo';
|
import useScrollTo from '../../../hooks/useScrollTo';
|
||||||
import { formatGMTString } from '../../../utils/helperMethods';
|
|
||||||
import { BUYNOW_CONFIG } from '../../../utils/BuyNowConfig';
|
import { BUYNOW_CONFIG } from '../../../utils/BuyNowConfig';
|
||||||
|
import {
|
||||||
|
LOG_CONTEXT_NAME,
|
||||||
|
LOG_MESSAGE_ID,
|
||||||
|
LOG_TP_NO,
|
||||||
|
panel_names,
|
||||||
|
} from '../../../utils/Config';
|
||||||
import * as Config from '../../../utils/Config.js';
|
import * as Config from '../../../utils/Config.js';
|
||||||
import {
|
import {
|
||||||
andThen,
|
andThen,
|
||||||
@@ -85,7 +89,10 @@ import {
|
|||||||
tap,
|
tap,
|
||||||
when,
|
when,
|
||||||
} from '../../../utils/fp';
|
} from '../../../utils/fp';
|
||||||
import { $L } from '../../../utils/helperMethods';
|
import {
|
||||||
|
$L,
|
||||||
|
formatGMTString,
|
||||||
|
} from '../../../utils/helperMethods';
|
||||||
import { SpotlightIds } from '../../../utils/SpotlightIds';
|
import { SpotlightIds } from '../../../utils/SpotlightIds';
|
||||||
import ShowUserReviews from '../../UserReview/ShowUserReviews';
|
import ShowUserReviews from '../../UserReview/ShowUserReviews';
|
||||||
// import CustomScrollbar from '../components/CustomScrollbar/CustomScrollbar';
|
// import CustomScrollbar from '../components/CustomScrollbar/CustomScrollbar';
|
||||||
@@ -1781,6 +1788,7 @@ export default function ProductAllSection({
|
|||||||
onScrollToImages={handleScrollToImagesV1}
|
onScrollToImages={handleScrollToImagesV1}
|
||||||
onFocus={() => {}}
|
onFocus={() => {}}
|
||||||
data-spotlight-id="product-video-player-container"
|
data-spotlight-id="product-video-player-container"
|
||||||
|
disclaimer={productData.disclaimer}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<ProductVideoV2
|
<ProductVideoV2
|
||||||
|
|||||||
@@ -215,3 +215,32 @@
|
|||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.notice {
|
||||||
|
width: 100%;
|
||||||
|
height: 54px;
|
||||||
|
background: #000000;
|
||||||
|
.flex(@justifyCenter:flex-start);
|
||||||
|
padding: 6px 18px 18px 18px;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
border-radius: 0 0 12px 12px;
|
||||||
|
|
||||||
|
.marquee {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
margin: 10px 12px 0 0;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
span {
|
||||||
|
line-height: normal;
|
||||||
|
letter-spacing: normal;
|
||||||
|
text-align: left;
|
||||||
|
.font(@fontFamily:@baseFont, @fontSize:20px);
|
||||||
|
color: @COLOR_GRAY04;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,17 +1,31 @@
|
|||||||
import React, { useCallback, useMemo, useState, useEffect, useRef } from 'react';
|
import React, {
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
useCallback,
|
||||||
|
useEffect,
|
||||||
|
useMemo,
|
||||||
|
useRef,
|
||||||
|
useState,
|
||||||
|
} from 'react';
|
||||||
|
|
||||||
|
import {
|
||||||
|
useDispatch,
|
||||||
|
useSelector,
|
||||||
|
} from 'react-redux';
|
||||||
|
|
||||||
|
import Marquee from '@enact/sandstone/Marquee';
|
||||||
import Spotlight from '@enact/spotlight';
|
import Spotlight from '@enact/spotlight';
|
||||||
import Spottable from '@enact/spotlight/Spottable';
|
import Spottable from '@enact/spotlight/Spottable';
|
||||||
|
|
||||||
|
import playImg from '../../../../../assets/images/btn/btn-play-thumb-nor.png';
|
||||||
|
import ic_warning from '../../../../../assets/images/icons/ic-warning@3x.png';
|
||||||
import {
|
import {
|
||||||
startMediaPlayer,
|
|
||||||
finishMediaPreview,
|
finishMediaPreview,
|
||||||
switchMediaToFullscreen,
|
|
||||||
minimizeModalMedia,
|
minimizeModalMedia,
|
||||||
restoreModalMedia,
|
restoreModalMedia,
|
||||||
|
startMediaPlayer,
|
||||||
|
switchMediaToFullscreen,
|
||||||
} from '../../../../actions/mediaActions';
|
} from '../../../../actions/mediaActions';
|
||||||
import CustomImage from '../../../../components/CustomImage/CustomImage';
|
import CustomImage from '../../../../components/CustomImage/CustomImage';
|
||||||
import { panel_names } from '../../../../utils/Config';
|
import { panel_names } from '../../../../utils/Config';
|
||||||
import playImg from '../../../../../assets/images/btn/btn-play-thumb-nor.png';
|
|
||||||
import css from './ProductVideo.module.less';
|
import css from './ProductVideo.module.less';
|
||||||
|
|
||||||
const SpottableComponent = Spottable('div');
|
const SpottableComponent = Spottable('div');
|
||||||
@@ -25,6 +39,7 @@ export default function ProductVideo({
|
|||||||
autoPlay = false, // 자동 재생 여부
|
autoPlay = false, // 자동 재생 여부
|
||||||
continuousPlay = false, // 반복 재생 여부
|
continuousPlay = false, // 반복 재생 여부
|
||||||
onFocus = null, // 외부에서 전달된 포커스 핸들러
|
onFocus = null, // 외부에서 전달된 포커스 핸들러
|
||||||
|
disclaimer,
|
||||||
}) {
|
}) {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
@@ -315,6 +330,12 @@ export default function ProductVideo({
|
|||||||
<img src={playImg} alt="재생" />
|
<img src={playImg} alt="재생" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div className={css.notice}>
|
||||||
|
<Marquee className={css.marquee} marqueeOn="render">
|
||||||
|
<img src={ic_warning} alt={disclaimer} />
|
||||||
|
<span>{disclaimer}</span>
|
||||||
|
</Marquee>
|
||||||
|
</div>
|
||||||
</SpottableComponent>
|
</SpottableComponent>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user