[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:
2025-12-11 15:21:59 +09:00
parent c16724f245
commit 38fad5ffe2

View File

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