diff --git a/com.twin.app.shoptime/src/components/TPopUp/TPopUp.jsx b/com.twin.app.shoptime/src/components/TPopUp/TPopUp.jsx index 009a4c35..51c48c7f 100644 --- a/com.twin.app.shoptime/src/components/TPopUp/TPopUp.jsx +++ b/com.twin.app.shoptime/src/components/TPopUp/TPopUp.jsx @@ -1,32 +1,19 @@ -import React, { - useCallback, - useEffect, - useMemo, - useState, -} from 'react'; +import React, { useCallback, useEffect, useMemo, useState } from "react"; -import classNames from 'classnames'; -import { - useDispatch, - useSelector, -} from 'react-redux'; +import classNames from "classnames"; +import { useDispatch, useSelector } from "react-redux"; -import Alert from '@enact/sandstone/Alert'; -import Spotlight from '@enact/spotlight'; -import SpotlightContainerDecorator - from '@enact/spotlight/SpotlightContainerDecorator'; -import Spottable from '@enact/spotlight/Spottable'; +import Alert from "@enact/sandstone/Alert"; +import Spotlight from "@enact/spotlight"; +import SpotlightContainerDecorator from "@enact/spotlight/SpotlightContainerDecorator"; +import Spottable from "@enact/spotlight/Spottable"; -import defaultImageItem - from '../../../assets/images/img-thumb-empty-product@3x.png'; -import { - cancelFocusElement, - focusElement, -} from '../../actions/commonActions'; -import { SpotlightIds } from '../../utils/SpotlightIds'; -import CustomImage from '../CustomImage/CustomImage'; -import TButton from '../TButton/TButton'; -import css from '../TPopUp/TPopUp.module.less'; +import defaultImageItem from "../../../assets/images/img-thumb-empty-product@3x.png"; +import { cancelFocusElement, focusElement } from "../../actions/commonActions"; +import { SpotlightIds } from "../../utils/SpotlightIds"; +import CustomImage from "../CustomImage/CustomImage"; +import TButton from "../TButton/TButton"; +import css from "../TPopUp/TPopUp.module.less"; const Container = SpotlightContainerDecorator( { enterTo: "default-element" }, @@ -98,6 +85,7 @@ export default function TPopUp({ optionClick, selectedIndex, spotlightId, + onSpotlightRight, ...rest }) { const dispatch = useDispatch(); @@ -198,6 +186,15 @@ export default function TPopUp({ [onRightClick] ); + const _onSpotlightRight = useCallback( + (e) => { + if (onSpotlightRight) { + onSpotlightRight(e); + } + }, + [onSpotlightRight] + ); + const ariaHidden = useMemo(() => { const deviceCountryCode = httpHeader?.["X-Device-Country"] || ""; if (deviceCountryCode === "US") { @@ -329,6 +326,7 @@ export default function TPopUp({ onClick={_onClick} role="button" ariaLabel={button1Text} + onSpotlightRight={_onSpotlightRight} > {button1Text} diff --git a/com.twin.app.shoptime/src/views/DetailPanel/components/indicator/IndicatorOptions.jsx b/com.twin.app.shoptime/src/views/DetailPanel/components/indicator/IndicatorOptions.jsx index c9075a13..8a16d160 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/components/indicator/IndicatorOptions.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/components/indicator/IndicatorOptions.jsx @@ -88,11 +88,16 @@ export default function IndicatorOptions({ return { __html: sanitizedString }; }; + //DecoratorContainer로 컴포넌트를 감싸주면 해당 함수가 필요없어 보임 const onSpotlightLeft = (e) => { e.stopPropagation(); Spotlight.focus(""); }; + const onSpotlightRight = () => { + Spotlight.focus("spotlightId_TbuttonScrollerDown"); + }; + const renderPopUp = () => { return (
@@ -159,7 +165,7 @@ export default function IndicatorOptions({ ); }; - + // return ( <>