[SHOPTIME-3987] 미국 / Home / Top Banner 4 진입 후 다시 Home으로 진입 시 포커싱 상이

[수정내용] 3977 이슈에서 딮링크를 통해 Player 진입 시 이전버튼을 통해 Home으로 들어가면 포커스가 잡히지 않는 현상이 있었음  해당 문제를 HomePanel에서 lastFocusTargetId가 없으면 포커스를 주는 로직을 추가하여서 발생한 문제

3977이슈에 경우에는 딮링크를 통해 Player로 진입했을때만 일어나는 현상으로 (다른패널들과 Player 패널은 패널 구조가 다름) Player에서 이전버튼을 클릭했을때만 따로 분기처리
This commit is contained in:
dongyoungKo
2025-03-25 17:34:28 +09:00
parent dac2894f37
commit 146042dc5e
2 changed files with 35 additions and 47 deletions

View File

@@ -4,19 +4,16 @@ import React, {
useMemo,
useRef,
useState,
} from 'react';
} from "react";
import classNames from 'classnames';
import {
useDispatch,
useSelector,
} from 'react-redux';
import classNames from "classnames";
import { useDispatch, useSelector } from "react-redux";
import Spotlight from '@enact/spotlight';
import Spotlight from "@enact/spotlight";
import {
getContainerNavigableElements,
setContainerLastFocusedElement,
} from '@enact/spotlight/src/container';
} from "@enact/spotlight/src/container";
import {
changeAppStatus,
@@ -24,44 +21,36 @@ import {
setExitApp,
setHidePopup,
setShowPopup,
} from '../../actions/commonActions';
import { getWelcomeEventInfo } from '../../actions/eventActions';
} from "../../actions/commonActions";
import { getWelcomeEventInfo } from "../../actions/eventActions";
import {
checkEnterThroughGNB,
getHomeLayout,
getHomeMainContents,
updateHomeInfo,
} from '../../actions/homeActions';
import { sendLogGNB } from '../../actions/logActions';
import {
getSubCategory,
getTop20Show,
} from '../../actions/mainActions';
import { getHomeOnSaleInfo } from '../../actions/onSaleActions';
import { finishVideoPreview } from '../../actions/playActions';
import { getBestSeller } from '../../actions/productActions';
import TBody from '../../components/TBody/TBody';
import TButton, { TYPES } from '../../components/TButton/TButton';
import TPanel from '../../components/TPanel/TPanel';
import TPopUp from '../../components/TPopUp/TPopUp';
import TVerticalPagenator
from '../../components/TVerticalPagenator/TVerticalPagenator';
import useDebugKey from '../../hooks/useDebugKey';
import usePrevious from '../../hooks/usePrevious';
import {
ACTIVE_POPUP,
LOG_MENU,
panel_names,
} from '../../utils/Config';
import { $L } from '../../utils/helperMethods';
import { SpotlightIds } from '../../utils/SpotlightIds';
import BestSeller from '../HomePanel/BestSeller/BestSeller';
import HomeBanner from '../HomePanel/HomeBanner/HomeBanner';
import HomeOnSale from '../HomePanel/HomeOnSale/HomeOnSale';
import css from '../HomePanel/HomePanel.module.less';
import PopularShow from '../HomePanel/PopularShow/PopularShow';
import SubCategory from '../HomePanel/SubCategory/SubCategory';
import EventPopUpBanner from './EventPopUpBanner/EventPopUpBanner';
} from "../../actions/homeActions";
import { sendLogGNB } from "../../actions/logActions";
import { getSubCategory, getTop20Show } from "../../actions/mainActions";
import { getHomeOnSaleInfo } from "../../actions/onSaleActions";
import { finishVideoPreview } from "../../actions/playActions";
import { getBestSeller } from "../../actions/productActions";
import TBody from "../../components/TBody/TBody";
import TButton, { TYPES } from "../../components/TButton/TButton";
import TPanel from "../../components/TPanel/TPanel";
import TPopUp from "../../components/TPopUp/TPopUp";
import TVerticalPagenator from "../../components/TVerticalPagenator/TVerticalPagenator";
import useDebugKey from "../../hooks/useDebugKey";
import usePrevious from "../../hooks/usePrevious";
import { ACTIVE_POPUP, LOG_MENU, panel_names } from "../../utils/Config";
import { $L } from "../../utils/helperMethods";
import { SpotlightIds } from "../../utils/SpotlightIds";
import BestSeller from "../HomePanel/BestSeller/BestSeller";
import HomeBanner from "../HomePanel/HomeBanner/HomeBanner";
import HomeOnSale from "../HomePanel/HomeOnSale/HomeOnSale";
import css from "../HomePanel/HomePanel.module.less";
import PopularShow from "../HomePanel/PopularShow/PopularShow";
import SubCategory from "../HomePanel/SubCategory/SubCategory";
import EventPopUpBanner from "./EventPopUpBanner/EventPopUpBanner";
export const TEMPLATE_CODE_CONF = {
TOP: "DSP00101",
@@ -505,12 +494,6 @@ const HomePanel = ({ isOnTop }) => {
useEffect(() => {
if (isOnTop && panelInfo?.lastFocusedTargetId) {
Spotlight.focus(panelInfo.lastFocusedTargetId);
} else if (
isOnTop &&
!panelInfo?.lastFocusedTargetId &&
sortedHomeLayoutInfo[0]?.shptmApphmDspyOptCd
) {
Spotlight.focus(sortedHomeLayoutInfo[0]?.shptmApphmDspyOptCd);
}
}, [isOnTop]);

View File

@@ -875,6 +875,11 @@ const PlayerPanel = ({
if (!panelInfo.modal) {
dispatch(PanelActions.popPanel());
dispatch(changeAppStatus({ cursorVisible: false }));
//딮링크로 플레이어 진입 후 이전버튼 클릭시
if (panels.length === 1) {
Spotlight.focus(SpotlightIds.HOME_TBODY);
}
ev?.stopPropagation();
// ev?.preventDefault();
return;