diff options
| author | Oskar <oskar@mullvad.net> | 2025-10-08 15:50:03 +0200 |
|---|---|---|
| committer | Oskar <oskar@mullvad.net> | 2025-10-08 15:50:03 +0200 |
| commit | 0ea2461345e931070d4b8300a5c3c135bf67037e (patch) | |
| tree | ea8b92d833ca3db855e519f64b4b046ba7a883e3 /desktop | |
| parent | 336bdae0ac4c2cd9084712083d34b85df480330b (diff) | |
| download | mullvadvpn-0ea2461345e931070d4b8300a5c3c135bf67037e.tar.xz mullvadvpn-0ea2461345e931070d4b8300a5c3c135bf67037e.zip | |
Fix timing of post view transition actions
Diffstat (limited to 'desktop')
| -rw-r--r-- | desktop/packages/mullvad-vpn/src/renderer/app.tsx | 4 | ||||
| -rw-r--r-- | desktop/packages/mullvad-vpn/src/renderer/lib/transition-hooks.ts | 14 |
2 files changed, 10 insertions, 8 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/app.tsx b/desktop/packages/mullvad-vpn/src/renderer/app.tsx index 85e6d80687..120d2d8ce5 100644 --- a/desktop/packages/mullvad-vpn/src/renderer/app.tsx +++ b/desktop/packages/mullvad-vpn/src/renderer/app.tsx @@ -681,10 +681,6 @@ export default class AppRenderer { public setNavigationHistory(history: IHistoryObject) { IpcRendererEventChannel.navigation.setHistory(history); - - if (window.env.e2e) { - window.e2e.location = history.entries[history.index].pathname; - } } // If the installer has just been downloaded and verified we want to automatically diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/transition-hooks.ts b/desktop/packages/mullvad-vpn/src/renderer/lib/transition-hooks.ts index cf8dad0e6e..35396459b5 100644 --- a/desktop/packages/mullvad-vpn/src/renderer/lib/transition-hooks.ts +++ b/desktop/packages/mullvad-vpn/src/renderer/lib/transition-hooks.ts @@ -32,17 +32,22 @@ export function useViewTransitions(onTransition?: () => void): Location<Location const queuedLocationRef = useRef<QueueItem>(undefined); const { setNavigationHistory } = useAppContext(); - const reduceMotion = getReduceMotion(); - const updateView = useEffectEvent((location: Location<LocationState>) => { - setNavigationHistory(history.asObject); setCurrentLocation(location); + setNavigationHistory(history.asObject); + }); + + const onTransitionEnd = useEffectEvent((location: Location<LocationState>) => { + if (window.env.e2e) { + window.e2e.location = location.pathname; + } }); const transitionToView = useEffectEvent( (location: Location<LocationState>, transition: TransitionType) => { - if (reduceMotion) { + if (getReduceMotion()) { updateView(location); + setTimeout(() => onTransitionEnd(location)); return; } @@ -61,6 +66,7 @@ export function useViewTransitions(onTransition?: () => void): Location<Location transitionToView(queueLocation.location, queueLocation.transition); } else { onTransition?.(); + onTransitionEnd?.(location); } }); }, |
