[TV앱테스트] 공통 / Error가 나는 image URL인 경우 Default Image 처리
[CLM] https://harmony.lge.com:8443/issue/browse/SHOPTIME-2007 [DESC] - 상황별 조건으로 이미지 없을경우 들어가도록 변경.
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
import React, { memo, useCallback } from "react";
|
||||
import React, { memo, useCallback, useEffect, useState } from "react";
|
||||
|
||||
import classNames from "classnames";
|
||||
|
||||
import Spottable from "@enact/spotlight/Spottable";
|
||||
|
||||
import defaultimgHorizontal from "../../../assets/images/img-thumb-empty-hor@3x.png";
|
||||
import defaultImageItem from "../../../assets/images/img-thumb-empty-product@3x.png";
|
||||
import defaultimgVertical from "../../../assets/images/img-thumb-empty-ver@3x.png";
|
||||
import IcLiveShow from "../../../assets/images/tag/tag-liveshow.png";
|
||||
import usePriceInfo from "../../hooks/usePriceInfo";
|
||||
import { $L } from "../../utils/helperMethods";
|
||||
@@ -60,6 +63,22 @@ export default memo(function TItemCard({
|
||||
type = TYPES.vertical,
|
||||
...rest
|
||||
}) {
|
||||
const [defaultImage, setDefaultImage] = useState(null);
|
||||
|
||||
useEffect(() => {
|
||||
if (!imageSource) {
|
||||
if (type === "videoShow") {
|
||||
if ((imgType = IMAGETYPES.imgHorizontal)) {
|
||||
setDefaultImage(defaultimgHorizontal);
|
||||
} else {
|
||||
setDefaultImage(defaultimgVertical);
|
||||
}
|
||||
} else {
|
||||
setDefaultImage(defaultImageItem);
|
||||
}
|
||||
}
|
||||
}, [imageSource]);
|
||||
|
||||
const { originalPrice, discountedPrice, discountRate } =
|
||||
usePriceInfo(priceInfo) || {};
|
||||
|
||||
@@ -105,7 +124,11 @@ export default memo(function TItemCard({
|
||||
{...rest}
|
||||
>
|
||||
<div className={css.imageWrap}>
|
||||
<CustomImage alt={imageAlt} delay={0} src={imageSource} />
|
||||
<CustomImage
|
||||
alt={imageAlt}
|
||||
delay={0}
|
||||
src={defaultImage ? defaultImage : imageSource}
|
||||
/>
|
||||
{!offerInfo && discountRate && <span>{discountRate}</span>}
|
||||
{soldoutFlag && soldoutFlag === "Y" && (
|
||||
<div>{STRING_CONF.SOLD_OUT}</div>
|
||||
|
||||
Reference in New Issue
Block a user