diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2022-04-14 14:42:20 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2022-04-20 10:51:21 +0200 |
| commit | 5d2aeb51e95e3b56fd2afd3e3ead0d92d4e5ff85 (patch) | |
| tree | d1041feeb034a35ce0c91d2d61c7e25d811eb8b0 /gui/src/renderer/redux/userinterface | |
| parent | effad880de8f52f9d956a5cccb486504f617f5d8 (diff) | |
| download | mullvadvpn-5d2aeb51e95e3b56fd2afd3e3ead0d92d4e5ff85.tar.xz mullvadvpn-5d2aeb51e95e3b56fd2afd3e3ead0d92d4e5ff85.zip | |
Remember scroll position on refresh
Diffstat (limited to 'gui/src/renderer/redux/userinterface')
| -rw-r--r-- | gui/src/renderer/redux/userinterface/actions.ts | 16 | ||||
| -rw-r--r-- | gui/src/renderer/redux/userinterface/reducers.ts | 3 |
2 files changed, 18 insertions, 1 deletions
diff --git a/gui/src/renderer/redux/userinterface/actions.ts b/gui/src/renderer/redux/userinterface/actions.ts index ce0cd5401b..cc8929934d 100644 --- a/gui/src/renderer/redux/userinterface/actions.ts +++ b/gui/src/renderer/redux/userinterface/actions.ts @@ -1,5 +1,5 @@ import { MacOsScrollbarVisibility } from '../../../shared/ipc-schema'; -import { IChangelog } from '../../../shared/ipc-types'; +import { IChangelog, ScrollPositions } from '../../../shared/ipc-types'; export interface IUpdateLocaleAction { type: 'UPDATE_LOCALE'; @@ -20,6 +20,11 @@ export interface ISetWindowFocusedAction { focused: boolean; } +export interface ISetScrollPositions { + type: 'SET_SCROLL_POSITIONS'; + scrollPositions: ScrollPositions; +} + export interface IAddScrollPosition { type: 'ADD_SCROLL_POSITION'; path: string; @@ -56,6 +61,7 @@ export type UserInterfaceAction = | IUpdateWindowArrowPositionAction | IUpdateConnectionInfoOpenAction | ISetWindowFocusedAction + | ISetScrollPositions | IAddScrollPosition | IRemoveScrollPosition | ISetMacOsScrollbarVisibility @@ -90,6 +96,13 @@ function setWindowFocused(focused: boolean): ISetWindowFocusedAction { }; } +function setScrollPositions(scrollPositions: ScrollPositions): ISetScrollPositions { + return { + type: 'SET_SCROLL_POSITIONS', + scrollPositions, + }; +} + function addScrollPosition(path: string, scrollPosition: [number, number]): IAddScrollPosition { return { type: 'ADD_SCROLL_POSITION', @@ -140,6 +153,7 @@ export default { updateWindowArrowPosition, toggleConnectionPanel, setWindowFocused, + setScrollPositions, addScrollPosition, removeScrollPosition, setMacOsScrollbarVisibility, diff --git a/gui/src/renderer/redux/userinterface/reducers.ts b/gui/src/renderer/redux/userinterface/reducers.ts index ca470a8cba..1850d553ab 100644 --- a/gui/src/renderer/redux/userinterface/reducers.ts +++ b/gui/src/renderer/redux/userinterface/reducers.ts @@ -42,6 +42,9 @@ export default function ( case 'SET_WINDOW_FOCUSED': return { ...state, windowFocused: action.focused }; + case 'SET_SCROLL_POSITIONS': + return { ...state, scrollPosition: action.scrollPositions }; + case 'ADD_SCROLL_POSITION': return { ...state, |
