[251211] fix: FeaturedBrandsPanel TopImageBanner Focus
🕐 커밋 시간: 2025. 12. 11. 15:21:58 📊 변경 통계: • 총 파일: 1개 • 추가: +55줄 • 삭제: -17줄 📝 수정된 파일: ~ com.twin.app.shoptime/src/views/FeaturedBrandsPanel/FeaturedBrandsPanel.jsx 🔧 주요 변경 내용: • 소규모 기능 개선
This commit is contained in:
@@ -11,6 +11,7 @@ import { useDispatch, useSelector } from "react-redux";
|
|||||||
|
|
||||||
import { Job } from "@enact/core/util";
|
import { Job } from "@enact/core/util";
|
||||||
import Spotlight from "@enact/spotlight";
|
import Spotlight from "@enact/spotlight";
|
||||||
|
import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator";
|
||||||
|
|
||||||
import { types } from "../../actions/actionTypes";
|
import { types } from "../../actions/actionTypes";
|
||||||
import {
|
import {
|
||||||
@@ -110,6 +111,17 @@ const DISPATCH_MAP = Object.freeze({
|
|||||||
|
|
||||||
const TOP_MARGIN = 36;
|
const TOP_MARGIN = 36;
|
||||||
|
|
||||||
|
// 🆕 [251211] NBCU(patnrId=21) 전용 통합 Container
|
||||||
|
// Banner + Category + BestSeller를 같은 Spotlight 계층 내에서 관리
|
||||||
|
const NbcuIntegratedContainer = SpotlightContainerDecorator(
|
||||||
|
{
|
||||||
|
spotlightDirection: 'vertical',
|
||||||
|
enterTo: 'last-focused',
|
||||||
|
preserveld: true,
|
||||||
|
},
|
||||||
|
'div'
|
||||||
|
);
|
||||||
|
|
||||||
const hasTemplateCodeWithValue = (array, value) =>
|
const hasTemplateCodeWithValue = (array, value) =>
|
||||||
array?.some((obj) => obj?.shptmBrndOptTpCd === value) ?? false;
|
array?.some((obj) => obj?.shptmBrndOptTpCd === value) ?? false;
|
||||||
|
|
||||||
@@ -1096,6 +1108,30 @@ const FeaturedBrandsPanel = ({ isOnTop, panelInfo, spotlightId }) => {
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{/* 🆕 [251211] patnrId=21일 때: Banner + Category + BestSeller를 통합 Container로 관리 */}
|
||||||
|
{(selectedPatnrId === 21 || selectedPatnrId === "21") ? (
|
||||||
|
<NbcuIntegratedContainer className={css.nbcuIntegratedContainer}>
|
||||||
|
{brandInfo && (brandTopImgInfo || brandTopBannerInfo) && (
|
||||||
|
<Banner
|
||||||
|
brandInfo={brandInfo}
|
||||||
|
brandTopImgInfo={brandTopImgInfo}
|
||||||
|
brandTopBannerInfo={brandTopBannerInfo}
|
||||||
|
panelPatnrId={panelInfo?.patnrId}
|
||||||
|
selectedPatnrId={selectedPatnrId}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{sortedBrandLayoutInfo && (
|
||||||
|
<div
|
||||||
|
className={css.orderableFlexContainer}
|
||||||
|
ref={orderableFlexContainerRef}
|
||||||
|
>
|
||||||
|
{renderPageItem()}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</NbcuIntegratedContainer>
|
||||||
|
) : (
|
||||||
|
<>
|
||||||
{brandInfo && (brandTopImgInfo || (selectedPatnrId === 21 && brandTopBannerInfo)) && (
|
{brandInfo && (brandTopImgInfo || (selectedPatnrId === 21 && brandTopBannerInfo)) && (
|
||||||
<Banner
|
<Banner
|
||||||
brandInfo={brandInfo}
|
brandInfo={brandInfo}
|
||||||
@@ -1114,6 +1150,8 @@ const FeaturedBrandsPanel = ({ isOnTop, panelInfo, spotlightId }) => {
|
|||||||
{renderPageItem()}
|
{renderPageItem()}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
|
||||||
{displayTopButton && (
|
{displayTopButton && (
|
||||||
<TButton
|
<TButton
|
||||||
|
|||||||
Reference in New Issue
Block a user