diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-10-27 15:15:36 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2021-10-27 15:15:36 +0200 |
| commit | c9e46c7126f2ca701953cba07c7b8e1b1136b15b (patch) | |
| tree | 077ad7fdbbef8b5008d4a56290d76afc87dc3494 /gui/src/renderer | |
| parent | b7677912e5557d0e5f7a2ebc0290041a3bece5af (diff) | |
| parent | 70459cc431c904e33ed38c3c87a84dd7d0c53466 (diff) | |
| download | mullvadvpn-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.tsx | 2 | ||||
| -rw-r--r-- | gui/src/renderer/components/Settings.tsx | 3 | ||||
| -rw-r--r-- | gui/src/renderer/containers/SettingsPage.tsx | 1 | ||||
| -rw-r--r-- | gui/src/renderer/redux/userinterface/actions.ts | 16 | ||||
| -rw-r--r-- | gui/src/renderer/redux/userinterface/reducers.ts | 5 |
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; } |
