[Home] TOP 버튼 및 디자인 수정

Detail Notes :
 
1. 최초 진입시 scrollTop 추가
2. TOP 버튼 클릭시 scrollTOP 이후 포커스 추가
3. TBody padding 제거
This commit is contained in:
jangheon Pyo
2024-02-26 18:57:39 +09:00
parent eec77bf350
commit d7344e8b99
3 changed files with 32 additions and 28 deletions

View File

@@ -22,7 +22,7 @@ const ContainerBasic = SpotlightContainerDecorator(
"div"
);
export default function HomeBannerTemplate1() {
export default function HomeBannerTemplate1({ scrollTop }) {
const dispatch = useDispatch();
const [bannerInfos, setBannerInfos] = useState([]);
@@ -65,11 +65,12 @@ export default function HomeBannerTemplate1() {
const banerInfo = homeMainContentsBannerInfos[0].bannerInfos;
setBannerInfos(banerInfo);
dispatch(getHomeMainContents);
scrollTop({ animate: false });
startFocus();
// console.log(homeMainContentsBannerInfos, "메인 컨텐츠");
// console.log(homeTopDisplayInfos, "탑디스");
}
}, [homeMainContentsBannerInfos, bannerInfos, dispatch]);
}, [homeMainContentsBannerInfos, bannerInfos, dispatch, scrollTop]);
return (
<Container className={css.container} spotlightId={"top"}>

View File

@@ -24,7 +24,6 @@ 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";
export default function HomePanel({ isOnTop }) {
const dispatch = useDispatch();
const { getScrollTo, scrollTop } = useScrollTo();
@@ -36,7 +35,7 @@ export default function HomePanel({ isOnTop }) {
const popupVisible = useSelector((state) => state.common.popupVisible);
const [selectTemplate, setSelectTemplate] = useState(null);
const [homeLayoutInfoDetail, setHomeLayoutInfoDetail] = useState([]);
const timerRef = useRef();
useEffect(() => {
if (homeTopDisplayInfos) {
setSelectTemplate(homeTopDisplayInfos[0].shptmTmplCd);
@@ -62,6 +61,10 @@ export default function HomePanel({ isOnTop }) {
dispatch(setHidePopup());
}, [dispatch]);
useEffect(() => {
return () => clearTimeout(timerRef.current);
}, []);
const handleTopButtonClick = useCallback(() => {
scrollTop();
@@ -72,34 +75,33 @@ export default function HomePanel({ isOnTop }) {
spotId = "banner01";
}
Spotlight.focus(spotId);
timerRef.current = setTimeout(() => Spotlight.focus(spotId), 700);
}, [scrollTop]);
return (
<>
<TPanel className={css.panel} onCancel={onCancel}>
<TBody className={css.tBody} cbscrollTo={getScrollTo}>
<TPanel className={css.panel} onCancel={onCancel}>
<TBody className={css.tBody} cbScrollTo={getScrollTo}>
<div className={css.mainBanner}>
{selectTemplate &&
(selectTemplate === "DSP00201" ? (
<HomeBannerTemplate1 />
<HomeBannerTemplate1 scrollTop={scrollTop} />
) : selectTemplate === "DSP00202" ? (
<HomeBannerTemplate2 />
) : selectTemplate === "DSP00203" ? (
<HomeBannerTemplate3 />
) : null)}
<SubCategory />
<HomeOnSale />
<PopularShow />
<BestSeller />
<TButton
className={css.tButton}
onClick={handleTopButtonClick}
size={null}
type={TYPES.topButton}
/>
</TBody>
</TPanel>
</div>
<SubCategory />
<HomeOnSale />
<PopularShow />
<BestSeller />
<TButton
className={css.tButton}
onClick={handleTopButtonClick}
size={null}
type={TYPES.topButton}
/>
</TBody>
<TPopUp
kind="exitPopup"
open={popupVisible}
@@ -112,6 +114,6 @@ export default function HomePanel({ isOnTop }) {
title={$L("Exit Shop Time")}
text={$L("Are you sure you want to exit Shop Time?")}
/>
</>
</TPanel>
);
}

View File

@@ -4,11 +4,12 @@
.panel {
background-color: @BG_COLOR_01;
}
.tBody {
height: 100%;
padding: 24px;
}
.tButton {
margin: 60px auto;
.mainBanner {
padding: 24px;
}
.tButton {
margin: 74px auto 60px;
}
}