[TV앱테스트] 공통 / Error가 나는 image URL인 경우 Default Image 처리

[CLM] https://harmony.lge.com:8443/issue/browse/SHOPTIME-2007
 
[DESC]
 - 상황별 조건으로 이미지 없을경우 들어가도록 변경.
This commit is contained in:
junghoon86.park
2024-04-02 17:28:12 +09:00
parent b4f8400695
commit 3af5a90690

View File

@@ -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>