diff options
Diffstat (limited to 'apps/web/src/hooks/use-effect-preview.ts')
| -rw-r--r-- | apps/web/src/hooks/use-effect-preview.ts | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/apps/web/src/hooks/use-effect-preview.ts b/apps/web/src/hooks/use-effect-preview.ts deleted file mode 100644 index a84781e0..00000000 --- a/apps/web/src/hooks/use-effect-preview.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { useEffect, useRef } from "react"; -import { effectPreviewService } from "@/services/renderer/effect-preview"; -import type { EffectParamValues } from "@/types/effects"; - -export function useEffectPreview({ - effectType, - params, - canvasRef, - isActive, -}: { - effectType: string; - params: EffectParamValues; - canvasRef: React.RefObject<HTMLCanvasElement | null>; - isActive: boolean; -}): void { - const requestRef = useRef<number>(0); - - useEffect(() => { - if (!isActive) { - if (requestRef.current) { - cancelAnimationFrame(requestRef.current); - requestRef.current = 0; - } - return; - } - - const loop = (): void => { - const canvas = canvasRef.current; - if (canvas) { - effectPreviewService.renderPreview({ - effectType, - params, - targetCanvas: canvas, - }); - } - requestRef.current = requestAnimationFrame(loop); - }; - - requestRef.current = requestAnimationFrame(loop); - - return () => { - if (requestRef.current) { - cancelAnimationFrame(requestRef.current); - } - }; - }, [effectType, params, canvasRef, isActive]); -} |
