summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/redux/userinterface
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2022-04-14 14:42:20 +0200
committerOskar Nyberg <oskar@mullvad.net>2022-04-20 10:51:21 +0200
commit5d2aeb51e95e3b56fd2afd3e3ead0d92d4e5ff85 (patch)
treed1041feeb034a35ce0c91d2d61c7e25d811eb8b0 /gui/src/renderer/redux/userinterface
parenteffad880de8f52f9d956a5cccb486504f617f5d8 (diff)
downloadmullvadvpn-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.ts16
-rw-r--r--gui/src/renderer/redux/userinterface/reducers.ts3
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,