diff --git a/src/containers/Homepage/HomeHero.tsx b/src/containers/Homepage/HomeHero.tsx
index 0d747409..a479ee14 100644
--- a/src/containers/Homepage/HomeHero.tsx
+++ b/src/containers/Homepage/HomeHero.tsx
@@ -55,6 +55,17 @@ const _HomeHero = ({ randomGenerativeToken, articles }: HomeHeroProps) => {
const nbObjkts = randomGenerativeTokenWithDups?.objkts.length || 0
return Math.floor(((cursor + 1) * 100) / nbObjkts)
}, [cursor, randomGenerativeTokenWithDups?.objkts.length])
+
+ const changeCursorHandler = () => {
+ const randomGenerativeTokenWithDupsIterations =
+ randomGenerativeTokenWithDups?.objkts
+ if (!randomGenerativeTokenWithDupsIterations) return
+ setCursor((oldCursor) =>
+ oldCursor === randomGenerativeTokenWithDupsIterations.length - 1
+ ? 0
+ : oldCursor + 1
+ )
+ }
return (
<>
@@ -78,7 +89,8 @@ const _HomeHero = ({ randomGenerativeToken, articles }: HomeHeroProps) => {
{randomGenerativeTokenWithDups && (
)}
diff --git a/src/containers/Homepage/RandomIterativeCycler.tsx b/src/containers/Homepage/RandomIterativeCycler.tsx
index affcb64c..54fe4e9e 100644
--- a/src/containers/Homepage/RandomIterativeCycler.tsx
+++ b/src/containers/Homepage/RandomIterativeCycler.tsx
@@ -23,15 +23,16 @@ type CalculateItemPositionAndOpacity = (data: {
interface RandomIterativeCyclerProps {
generativeToken: GenerativeToken
- onChangeCursor: (cursorPos: number) => void
+ cursor: number
+ onChangeCursor: () => void
}
const maxTimeSec = 5
const _RandomIterativeCycler = ({
generativeToken,
+ cursor,
onChangeCursor,
}: RandomIterativeCyclerProps) => {
- const [cursor, setCursor] = useState(0)
const [counterInSec, setCounterInSec] = useState(0)
const calculateItemPositionAndOpacity =
useCallback(
@@ -83,17 +84,10 @@ const _RandomIterativeCycler = ({
}, [])
useEffect(() => {
if (counterInSec > maxTimeSec) {
- setCursor((oldCursor) => {
- return oldCursor === generativeToken.objkts.length - 1
- ? 0
- : oldCursor + 1
- })
+ onChangeCursor()
setCounterInSec(0)
}
- }, [counterInSec, generativeToken.objkts.length])
- useEffect(() => {
- onChangeCursor(cursor)
- }, [cursor, onChangeCursor])
+ }, [counterInSec, onChangeCursor])
return (
{generativeToken.objkts?.map((objkt, idx) => {