summaryrefslogtreecommitdiff
path: root/apps/web/src/timeline/hooks/use-timeline-seek.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/timeline/hooks/use-timeline-seek.ts')
-rw-r--r--apps/web/src/timeline/hooks/use-timeline-seek.ts14
1 files changed, 4 insertions, 10 deletions
diff --git a/apps/web/src/timeline/hooks/use-timeline-seek.ts b/apps/web/src/timeline/hooks/use-timeline-seek.ts
index bf033dae..ea9b44a7 100644
--- a/apps/web/src/timeline/hooks/use-timeline-seek.ts
+++ b/apps/web/src/timeline/hooks/use-timeline-seek.ts
@@ -1,5 +1,6 @@
-import { useEffect, useRef, type RefObject } from "react";
+import { useEffect, useState, type RefObject } from "react";
import { useEditor } from "@/editor/use-editor";
+import { useCommittedRef } from "@/hooks/use-committed-ref";
import {
SeekController,
type SeekConfig,
@@ -50,15 +51,8 @@ export function useTimelineSeek({
},
}),
};
-
- const configRef = useRef(config);
- configRef.current = config;
-
- const controllerRef = useRef<SeekController | null>(null);
- if (!controllerRef.current) {
- controllerRef.current = new SeekController({ configRef });
- }
- const controller = controllerRef.current;
+ const configRef = useCommittedRef(config);
+ const [controller] = useState(() => new SeekController({ configRef }));
useEffect(() => () => controller.destroy(), [controller]);