From e481fa66cd0f51d6d235a069fad8c334c84324a7 Mon Sep 17 00:00:00 2001 From: Gregor Lohaus Date: Tue, 31 Mar 2026 14:16:26 +0200 Subject: [PATCH] reapply layout effect fix for timeline cleanup --- src/app/_providers/GsapProvicer.tsx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/app/_providers/GsapProvicer.tsx b/src/app/_providers/GsapProvicer.tsx index d2e35b6..cc9f12d 100644 --- a/src/app/_providers/GsapProvicer.tsx +++ b/src/app/_providers/GsapProvicer.tsx @@ -3,7 +3,7 @@ import { useGSAP } from '@gsap/react' import gsap from 'gsap' import { SplitText } from 'gsap/SplitText' import { ScrollTrigger, GSDevTools } from 'gsap/all' -import { createContext, useCallback, useContext, useEffect, useRef, type ReactNode } from 'react' +import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useRef, type ReactNode } from 'react' gsap.registerPlugin(useGSAP) gsap.registerPlugin(ScrollTrigger) @@ -38,7 +38,7 @@ export const useTimeLine = (dep:any,all?:boolean) => { } } },[dep]) - useEffect(() => { + useLayoutEffect(() => { return () => { gsapContext?.resetTimeline() } @@ -72,10 +72,7 @@ export default function GsapProvider({ children }: { children: ReactNode }) { }, []) useGSAP(() => { if (!tl.current) { - tl.current = gsap.timeline({ paused: true, id:'mainTimeline', onComplete: ()=>{ - console.log('timeline revert') - gsap.getById('mainTimeline')?.revert() - } }) + tl.current = gsap.timeline({ paused: true }) } return () => { console.log("gsap cleanup") } })