diff --git a/com.twin.app.shoptime/src/hooks/useScrollTo.js b/com.twin.app.shoptime/src/hooks/useScrollTo.js index 386f0cd2..e9ed2eb7 100644 --- a/com.twin.app.shoptime/src/hooks/useScrollTo.js +++ b/com.twin.app.shoptime/src/hooks/useScrollTo.js @@ -3,15 +3,15 @@ import React, { useCallback, useEffect, useRef } from "react"; export default function useScrollTo() { const scrollTo = useRef(); - const scrollTop = useCallback(() => { + const scrollTop = useCallback(({ animate = true } = {}) => { if (scrollTo && scrollTo.current) { - scrollTo.current({ position: { y: 0 }, animate: true }); + scrollTo.current({ position: { y: 0 }, animate: animate }); } }, []); - const scrollLeft = useCallback(() => { + const scrollLeft = useCallback(({ animate = false } = {}) => { if (scrollTo && scrollTo.current) { - scrollTo.current({ position: { x: 0 }, animate: false }); + scrollTo.current({ position: { x: 0 }, animate: animate }); } }, []); diff --git a/com.twin.app.shoptime/src/hooks/useScrollToTop.js b/com.twin.app.shoptime/src/hooks/useScrollToTop.js new file mode 100644 index 00000000..b7a06259 --- /dev/null +++ b/com.twin.app.shoptime/src/hooks/useScrollToTop.js @@ -0,0 +1,29 @@ +import { useCallback, useEffect, useRef } from "react"; + +import { Job } from "@enact/core/util"; + +export default function useScrollToTop(scrollTo) { + const jobRef = useRef( + new Job((func) => { + func(); + }, 0) + ); + + const handleScrollTop = useCallback(() => { + if (scrollTo) { + jobRef.current.start(() => scrollTo()); + } + }, [scrollTo]); + + const handleStopScrolling = useCallback(() => { + jobRef.current.stop(); + }, []); + + useEffect(() => { + return () => { + jobRef.current.stop(); + }; + }, []); + + return { handleScrollTop, handleStopScrolling }; +} diff --git a/com.twin.app.shoptime/src/utils/Config.js b/com.twin.app.shoptime/src/utils/Config.js index 394070c8..f404e9ea 100644 --- a/com.twin.app.shoptime/src/utils/Config.js +++ b/com.twin.app.shoptime/src/utils/Config.js @@ -6,7 +6,7 @@ export const TESTPANEL_KEY = "5325"; export const SFT_TEST = "5555"; export const SFT_TEST2 = "6666"; export const DEFAULT_SERVERTYPE = "qt2"; //system, qt2, qt, prd -export const DEFAULT_RIC_CODE = 'aic'; //system, aic, eic, ruc +export const DEFAULT_RIC_CODE = "aic"; //system, aic, eic, ruc export const panel_names = { INTRO_PANEL: "intropanel", HOME_PANEL: "homepanel",