diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2020-05-18 17:10:26 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2020-05-25 12:56:47 +0200 |
| commit | 80a9394c56888af208933566c76f9fb99fe7218e (patch) | |
| tree | 3fbf3d7ca7da56f3be4431a1117b1da0dc7d6b3f /gui/src | |
| parent | 51009aa592af34e168b152a4e10c841d690962d7 (diff) | |
| download | mullvadvpn-80a9394c56888af208933566c76f9fb99fe7218e.tar.xz mullvadvpn-80a9394c56888af208933566c76f9fb99fe7218e.zip | |
Disable beta program toggle when running beta
Diffstat (limited to 'gui/src')
| -rw-r--r-- | gui/src/main/index.ts | 3 | ||||
| -rw-r--r-- | gui/src/renderer/app.tsx | 6 | ||||
| -rw-r--r-- | gui/src/renderer/components/Preferences.tsx | 16 | ||||
| -rw-r--r-- | gui/src/renderer/containers/PreferencesPage.tsx | 1 | ||||
| -rw-r--r-- | gui/src/renderer/redux/version/actions.ts | 8 | ||||
| -rw-r--r-- | gui/src/renderer/redux/version/reducers.ts | 3 |
6 files changed, 30 insertions, 7 deletions
diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts index 2467b511d0..b2d33a700e 100644 --- a/gui/src/main/index.ts +++ b/gui/src/main/index.ts @@ -65,6 +65,7 @@ export interface ICurrentAppVersionInfo { gui: string; daemon: string; isConsistent: boolean; + currentIsBeta: boolean; } export interface IAppUpgradeInfo extends IAppVersionInfo { @@ -137,6 +138,7 @@ class ApplicationMain { daemon: '', gui: '', isConsistent: true, + currentIsBeta: false, }; private upgradeVersion: IAppUpgradeInfo = { @@ -740,6 +742,7 @@ class ApplicationMain { daemon: daemonVersion, gui: guiVersion, isConsistent: daemonVersion === guiVersion, + currentIsBeta: guiVersion.includes('beta'), }; this.currentVersion = versionInfo; diff --git a/gui/src/renderer/app.tsx b/gui/src/renderer/app.tsx index 82858ad3d9..f9d4130419 100644 --- a/gui/src/renderer/app.tsx +++ b/gui/src/renderer/app.tsx @@ -731,7 +731,11 @@ export default class AppRenderer { } private setCurrentVersion(versionInfo: ICurrentAppVersionInfo) { - this.reduxActions.version.updateVersion(versionInfo.gui, versionInfo.isConsistent); + this.reduxActions.version.updateVersion( + versionInfo.gui, + versionInfo.isConsistent, + versionInfo.currentIsBeta, + ); } private setUpgradeVersion(upgradeVersion: IAppUpgradeInfo) { diff --git a/gui/src/renderer/components/Preferences.tsx b/gui/src/renderer/components/Preferences.tsx index eaf695be84..a7d28e145d 100644 --- a/gui/src/renderer/components/Preferences.tsx +++ b/gui/src/renderer/components/Preferences.tsx @@ -19,6 +19,7 @@ export interface IProps { autoConnect: boolean; allowLan: boolean; showBetaReleases: boolean; + isBeta: boolean; enableSystemNotifications: boolean; monochromaticIcon: boolean; startMinimized: boolean; @@ -165,7 +166,7 @@ export default class Preferences extends Component<IProps> { </React.Fragment> ) : undefined} - <Cell.Container> + <Cell.Container disabled={this.props.isBeta}> <Cell.Label> {messages.pgettext('preferences-view', 'Beta program')} </Cell.Label> @@ -176,10 +177,15 @@ export default class Preferences extends Component<IProps> { </Cell.Container> <Cell.Footer> <Cell.FooterText> - {messages.pgettext( - 'preferences-view', - 'Enable to get notified when new beta versions of the app are released.', - )} + {this.props.isBeta + ? messages.pgettext( + 'preferences-view', + 'This option is unavailable while using a beta version.', + ) + : messages.pgettext( + 'preferences-view', + 'Enable to get notified when new beta versions of the app are released.', + )} </Cell.FooterText> </Cell.Footer> </View> diff --git a/gui/src/renderer/containers/PreferencesPage.tsx b/gui/src/renderer/containers/PreferencesPage.tsx index 131d85a1ae..538c44dcfa 100644 --- a/gui/src/renderer/containers/PreferencesPage.tsx +++ b/gui/src/renderer/containers/PreferencesPage.tsx @@ -11,6 +11,7 @@ const mapStateToProps = (state: IReduxState) => ({ autoStart: state.settings.autoStart, allowLan: state.settings.allowLan, showBetaReleases: state.settings.showBetaReleases, + isBeta: state.version.currentIsBeta, autoConnect: state.settings.guiSettings.autoConnect, enableSystemNotifications: state.settings.guiSettings.enableSystemNotifications, monochromaticIcon: state.settings.guiSettings.monochromaticIcon, diff --git a/gui/src/renderer/redux/version/actions.ts b/gui/src/renderer/redux/version/actions.ts index 1826b0a82f..628bc2c39a 100644 --- a/gui/src/renderer/redux/version/actions.ts +++ b/gui/src/renderer/redux/version/actions.ts @@ -13,6 +13,7 @@ export interface IUpdateVersionAction { type: 'UPDATE_VERSION'; version: string; consistent: boolean; + currentIsBeta: boolean; } export type VersionAction = IUpdateLatestAction | IUpdateVersionAction; @@ -24,11 +25,16 @@ function updateLatest(latestInfo: IUpdateLatestActionPayload): IUpdateLatestActi }; } -function updateVersion(version: string, consistent: boolean): IUpdateVersionAction { +function updateVersion( + version: string, + consistent: boolean, + currentIsBeta: boolean, +): IUpdateVersionAction { return { type: 'UPDATE_VERSION', version, consistent, + currentIsBeta, }; } diff --git a/gui/src/renderer/redux/version/reducers.ts b/gui/src/renderer/redux/version/reducers.ts index fdf74c8c0a..279b4ed6f4 100644 --- a/gui/src/renderer/redux/version/reducers.ts +++ b/gui/src/renderer/redux/version/reducers.ts @@ -3,6 +3,7 @@ import { ReduxAction } from '../store'; export interface IVersionReduxState { current: string; currentIsSupported: boolean; + currentIsBeta: boolean; latest?: string; latestStable?: string; nextUpgrade: string | null; @@ -12,6 +13,7 @@ export interface IVersionReduxState { const initialState: IVersionReduxState = { current: '', currentIsSupported: true, + currentIsBeta: false, latest: undefined, latestStable: undefined, nextUpgrade: null, @@ -34,6 +36,7 @@ export default function ( ...state, current: action.version, consistent: action.consistent, + currentIsBeta: action.currentIsBeta, }; default: |
