summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-10-27 15:15:36 +0200
committerOskar Nyberg <oskar@mullvad.net>2021-10-27 15:15:36 +0200
commitc9e46c7126f2ca701953cba07c7b8e1b1136b15b (patch)
tree077ad7fdbbef8b5008d4a56290d76afc87dc3494 /gui/src/renderer
parentb7677912e5557d0e5f7a2ebc0290041a3bece5af (diff)
parent70459cc431c904e33ed38c3c87a84dd7d0c53466 (diff)
downloadmullvadvpn-c9e46c7126f2ca701953cba07c7b8e1b1136b15b.tar.xz
mullvadvpn-c9e46c7126f2ca701953cba07c7b8e1b1136b15b.zip
Merge branch 'hide-settings-while-not-connected-to-daemon'
Diffstat (limited to 'gui/src/renderer')
-rw-r--r--gui/src/renderer/app.tsx2
-rw-r--r--gui/src/renderer/components/Settings.tsx3
-rw-r--r--gui/src/renderer/containers/SettingsPage.tsx1
-rw-r--r--gui/src/renderer/redux/userinterface/actions.ts16
-rw-r--r--gui/src/renderer/redux/userinterface/reducers.ts5
5 files changed, 25 insertions, 2 deletions
diff --git a/gui/src/renderer/app.tsx b/gui/src/renderer/app.tsx
index c487f641ed..7880352d7b 100644
--- a/gui/src/renderer/app.tsx
+++ b/gui/src/renderer/app.tsx
@@ -664,11 +664,13 @@ export default class AppRenderer {
private onDaemonConnected() {
this.connectedToDaemon = true;
+ this.reduxActions.userInterface.setConnectedToDaemon(true);
this.resetNavigation();
}
private onDaemonDisconnected() {
this.connectedToDaemon = false;
+ this.reduxActions.userInterface.setConnectedToDaemon(false);
this.resetNavigation();
}
diff --git a/gui/src/renderer/components/Settings.tsx b/gui/src/renderer/components/Settings.tsx
index 1610f776f9..cd8bf623ea 100644
--- a/gui/src/renderer/components/Settings.tsx
+++ b/gui/src/renderer/components/Settings.tsx
@@ -29,6 +29,7 @@ import { LoginState } from '../redux/account/reducers';
export interface IProps {
preferredLocaleDisplayName: string;
loginState: LoginState;
+ connectedToDaemon: boolean;
accountExpiry?: string;
appVersion: string;
consistentVersion: boolean;
@@ -108,7 +109,7 @@ export default class Settings extends React.Component<IProps> {
private renderTopButtons() {
const isLoggedIn = this.props.loginState.type === 'ok';
- if (!isLoggedIn) {
+ if (!isLoggedIn || !this.props.connectedToDaemon) {
return null;
}
diff --git a/gui/src/renderer/containers/SettingsPage.tsx b/gui/src/renderer/containers/SettingsPage.tsx
index da237abd23..2bea17892b 100644
--- a/gui/src/renderer/containers/SettingsPage.tsx
+++ b/gui/src/renderer/containers/SettingsPage.tsx
@@ -10,6 +10,7 @@ const mapStateToProps = (state: IReduxState, props: IAppContext) => ({
state.settings.guiSettings.preferredLocale,
),
loginState: state.account.status,
+ connectedToDaemon: state.userInterface.connectedToDaemon,
accountExpiry: state.account.expiry,
appVersion: state.version.current,
consistentVersion: state.version.consistent,
diff --git a/gui/src/renderer/redux/userinterface/actions.ts b/gui/src/renderer/redux/userinterface/actions.ts
index fd08dccd54..88ffbf216f 100644
--- a/gui/src/renderer/redux/userinterface/actions.ts
+++ b/gui/src/renderer/redux/userinterface/actions.ts
@@ -41,6 +41,11 @@ export interface ISetMacOsScrollbarVisibility {
visibility: MacOsScrollbarVisibility;
}
+export interface ISetConnectedToDaemon {
+ type: 'SET_CONNECTED_TO_DAEMON';
+ connectedToDaemon: boolean;
+}
+
export type UserInterfaceAction =
| IUpdateLocaleAction
| IUpdateWindowArrowPositionAction
@@ -49,7 +54,8 @@ export type UserInterfaceAction =
| ISetWindowFocusedAction
| IAddScrollPosition
| IRemoveScrollPosition
- | ISetMacOsScrollbarVisibility;
+ | ISetMacOsScrollbarVisibility
+ | ISetConnectedToDaemon;
function updateLocale(locale: string): IUpdateLocaleAction {
return {
@@ -109,6 +115,13 @@ function setMacOsScrollbarVisibility(
};
}
+function setConnectedToDaemon(connectedToDaemon: boolean): ISetConnectedToDaemon {
+ return {
+ type: 'SET_CONNECTED_TO_DAEMON',
+ connectedToDaemon,
+ };
+}
+
export default {
updateLocale,
updateWindowArrowPosition,
@@ -118,4 +131,5 @@ export default {
addScrollPosition,
removeScrollPosition,
setMacOsScrollbarVisibility,
+ setConnectedToDaemon,
};
diff --git a/gui/src/renderer/redux/userinterface/reducers.ts b/gui/src/renderer/redux/userinterface/reducers.ts
index 846007f20a..5adac07937 100644
--- a/gui/src/renderer/redux/userinterface/reducers.ts
+++ b/gui/src/renderer/redux/userinterface/reducers.ts
@@ -14,6 +14,7 @@ export interface IUserInterfaceReduxState {
windowFocused: boolean;
scrollPosition: Record<string, [number, number]>;
macOsScrollbarVisibility?: MacOsScrollbarVisibility;
+ connectedToDaemon: boolean;
}
const initialState: IUserInterfaceReduxState = {
@@ -23,6 +24,7 @@ const initialState: IUserInterfaceReduxState = {
windowFocused: false,
scrollPosition: {},
macOsScrollbarVisibility: undefined,
+ connectedToDaemon: false,
};
export default function (
@@ -60,6 +62,9 @@ export default function (
case 'SET_MACOS_SCROLLBAR_VISIBILITY':
return { ...state, macOsScrollbarVisibility: action.visibility };
+ case 'SET_CONNECTED_TO_DAEMON':
+ return { ...state, connectedToDaemon: action.connectedToDaemon };
+
default:
return state;
}