Show motion playback on page initially (#11196)

* motion video controls handle current time better

* Make sure state is updated
This commit is contained in:
Nicolas Mowen
2024-05-01 20:23:03 -06:00
committed by GitHub
parent 2e63941598
commit 28dd871d44
2 changed files with 38 additions and 33 deletions

View File

@@ -8,7 +8,8 @@ export function useOverlayState<S>(
): [S | undefined, (value: S, replace?: boolean) => void] {
const location = useLocation();
const navigate = useNavigate();
const currentLocationState = location.state;
const currentLocationState = useMemo(() => location.state, [location]);
const setOverlayStateValue = useCallback(
(value: S, replace: boolean = false) => {
@@ -18,7 +19,7 @@ export function useOverlayState<S>(
},
// we know that these deps are correct
// eslint-disable-next-line react-hooks/exhaustive-deps
[key, navigate],
[key, currentLocationState, navigate],
);
const overlayStateValue = useMemo<S | undefined>(
@@ -39,7 +40,8 @@ export function usePersistedOverlayState<S extends string>(
);
const location = useLocation();
const navigate = useNavigate();
const currentLocationState = location.state;
const currentLocationState = useMemo(() => location.state, [location]);
const setOverlayStateValue = useCallback(
(value: S | undefined, replace: boolean = false) => {
@@ -50,7 +52,7 @@ export function usePersistedOverlayState<S extends string>(
},
// we know that these deps are correct
// eslint-disable-next-line react-hooks/exhaustive-deps
[key, navigate],
[key, currentLocationState, navigate],
);
const overlayStateValue = useMemo<S | undefined>(