[TItemCard] 로고 제거 및 TItemCard 적용

- TItemCard 로고제거 및 스타일수정
 - 포지션 앱솔 걸수없을때 처리추가.
 - homepanel popularshow titemcard적용.
 - categorypanel showlist부분 로고 제거.
This commit is contained in:
junghoon86.park
2024-02-21 11:09:54 +09:00
parent 9e562c9938
commit e2531cff7f
6 changed files with 23 additions and 85 deletions

View File

@@ -40,6 +40,7 @@ export default memo(function TItemCard({
productName, productName,
rank, rank,
soldoutFlag, soldoutFlag,
nonPosition = false,
type = TYPES.vertical, type = TYPES.vertical,
...rest ...rest
}) { }) {
@@ -56,7 +57,7 @@ export default memo(function TItemCard({
return ( return (
<SpottableComponent <SpottableComponent
{...rest} {...rest}
className={classNames(css[type])} className={classNames(css[type], nonPosition && css.nonPosition)}
onClick={() => handleClick(productId)} onClick={() => handleClick(productId)}
spotlightId={"spotlightId-" + removeDotAndColon(productId)} spotlightId={"spotlightId-" + removeDotAndColon(productId)}
> >
@@ -68,11 +69,6 @@ export default memo(function TItemCard({
)} )}
</div> </div>
<div className={css.descWrap}> <div className={css.descWrap}>
{logo && logoDisplay && (
<div className={css.logo}>
<img src={logo} alt={productName} />
</div>
)}
<h3 className={css.title}>{productName}</h3> <h3 className={css.title}>{productName}</h3>
<p> <p>
{discountRate ? discountedPrice : originalPrice} {discountRate ? discountedPrice : originalPrice}

View File

@@ -199,7 +199,14 @@
box-sizing: border-box; box-sizing: border-box;
.focused(@boxShadow: 22px, @borderRadius: 12px); .focused(@boxShadow: 22px, @borderRadius: 12px);
} }
&.nonPosition {
&:focus {
position: unset;
border: 4px solid @PRIMARY_COLOR_RED;
box-shadow: 0 0 22px 0 rgba(0, 0, 0, 0.5);
border-radius: 12px;
}
}
.imageWrap { .imageWrap {
> img { > img {
.size(@w: 100%, @h: 288px); .size(@w: 100%, @h: 288px);
@@ -214,17 +221,6 @@
.size(@w: 510px, @h: 61px); .size(@w: 510px, @h: 61px);
display: flex; display: flex;
.logo {
.size(@w: 60px, @h: 60px);
margin-right: 12px;
> img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
.title { .title {
width: calc(100% - 72px); width: calc(100% - 72px);
.elip(@clamp: 2); .elip(@clamp: 2);

View File

@@ -29,7 +29,6 @@ export default function ShowLists() {
itemWidth={546} itemWidth={546}
itemHeight={438} itemHeight={438}
spacing={18} spacing={18}
logoDisplay
/> />
)} )}
</Container> </Container>

View File

@@ -5,14 +5,13 @@ import TItemCard, {
} from "../../../../../components/TItemCard/TItemCard"; } from "../../../../../components/TItemCard/TItemCard";
import css from "./ShowListsItem.module.less"; import css from "./ShowListsItem.module.less";
export default function ShowListsItem({ thumbnail, title, logo }) { export default function ShowListsItem({ thumbnail, title }) {
return ( return (
<TItemCard <TItemCard
className={css.container} className={css.container}
imageSource={thumbnail} imageSource={thumbnail}
imageAlt={title} imageAlt={title}
productName={title} productName={title}
logo={logo}
type={TYPES.videoShow} type={TYPES.videoShow}
/> />
); );

View File

@@ -7,6 +7,7 @@ import { SpotlightContainerDecorator } from "@enact/spotlight/SpotlightContainer
import Spottable from "@enact/spotlight/Spottable"; import Spottable from "@enact/spotlight/Spottable";
import SectionTitle from "../../../components/SectionTitle/SectionTitle"; import SectionTitle from "../../../components/SectionTitle/SectionTitle";
import TItemCard, { TYPES } from "../../../components/TItemCard/TItemCard";
import TScroller from "../../../components/TScroller/TScroller"; import TScroller from "../../../components/TScroller/TScroller";
import { $L } from "../../../utils/helperMethods"; import { $L } from "../../../utils/helperMethods";
import css from "../PopularShow/PopularShow.module.less"; import css from "../PopularShow/PopularShow.module.less";
@@ -26,26 +27,18 @@ const PopularShow = ({ ...rest }) => {
<TScroller className={css.showList} direction="horizontal"> <TScroller className={css.showList} direction="horizontal">
{topInfos && {topInfos &&
topInfos.map((item, index) => ( topInfos.map((item, index) => (
<SpottableComponent <TItemCard
className={classNames(
item.thumbnailUrl960 == item.thumbnailUrl
? css.listItemVertical
: css.listItem
)}
key={item.showId} key={item.showId}
{...rest} imageSource={
> item.thumbnailUrl !== item.thumbnailUrl960
<img src={item.thumbnailUrl960} className={css.itemImg} /> ? item.thumbnailUrl960
<div : item.thumbnailUrl
className={classNames( }
item.thumbnailUrl960 == item.thumbnailUrl imageAlt={item.showNm}
? css.verticalItem productName={item.showNm}
: css.horizonItem nonPosition={true}
)} type={TYPES.videoShow}
> />
<span className={css.showNm}>{item.showNm}</span>
</div>
</SpottableComponent>
))} ))}
<SpottableComponent className={css.addItem}></SpottableComponent> <SpottableComponent className={css.addItem}></SpottableComponent>

View File

@@ -41,51 +41,6 @@
} }
} }
.listItem {
position: relative;
.size(@w:546px,@h:438px);
padding: 14px;
background-color: @COLOR_WHITE;
border-radius: 12px;
.border-solid(@size:4px,@color:transparent);
font-weight: bold;
font-family: @baseFontBold;
flex: none;
&:focus {
border: 4px solid @PRIMARY_COLOR_RED;
box-shadow: 0 0 22px 0 rgba(0, 0, 0, 0.5);
border-radius: 12px;
}
> img {
.size(@w:510px,@h:288px);
object-fit: contain;
}
.horizonItem {
.size(@w:510px,@h:61px);
margin-top: 38px;
color: #333;
font-size: 24px;
.elip(@clamp:2);
display: flex;
}
.logo {
display: inline-block;
.size(@w:60px,@h:60px);
margin-right: 12px;
.logoPath {
width: 100%;
height: auto;
}
}
.showNm {
display: inline-block;
color: #333;
font-size: 24px;
.elip(@clamp:2);
.size(@w:510px,@h:61px);
}
}
.listItemVertical { .listItemVertical {
display: flex; display: flex;
flex: none; flex: none;