feat(collection/presentation): use sync instead of full reload

This commit is contained in:
Elian Doran 2025-10-15 22:34:01 +03:00
parent 66ba4a596c
commit 4d772ab48d
No known key found for this signature in database

View File

@ -72,7 +72,7 @@ function Presentation({ presentation, apiRef: externalApiRef } : { presentation:
useEffect(() => { useEffect(() => {
if (apiRef.current || !containerRef.current) return; if (apiRef.current || !containerRef.current) return;
apiRef.current = new Reveal(containerRef.current, { const api = new Reveal(containerRef.current, {
transition: "slide", transition: "slide",
embedded: true, embedded: true,
keyboardCondition(event) { keyboardCondition(event) {
@ -85,16 +85,18 @@ function Presentation({ presentation, apiRef: externalApiRef } : { presentation:
}, },
}); });
externalApiRef.current = apiRef.current; externalApiRef.current = apiRef.current;
apiRef.current.initialize().then(() => { api.initialize().then(() => {
// Initialization logic. apiRef.current = api;
}); });
return () => { return () => {
if (apiRef.current) { api.destroy();
apiRef.current.destroy(); apiRef.current = null;
apiRef.current = null;
}
} }
}, [ ]);
useEffect(() => {
apiRef.current?.sync();
}, [ presentation ]); }, [ presentation ]);
return ( return (