summaryrefslogtreecommitdiffhomepage
path: root/gui/src
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2020-05-18 17:10:26 +0200
committerOskar Nyberg <oskar@mullvad.net>2020-05-25 12:56:47 +0200
commit80a9394c56888af208933566c76f9fb99fe7218e (patch)
tree3fbf3d7ca7da56f3be4431a1117b1da0dc7d6b3f /gui/src
parent51009aa592af34e168b152a4e10c841d690962d7 (diff)
downloadmullvadvpn-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.ts3
-rw-r--r--gui/src/renderer/app.tsx6
-rw-r--r--gui/src/renderer/components/Preferences.tsx16
-rw-r--r--gui/src/renderer/containers/PreferencesPage.tsx1
-rw-r--r--gui/src/renderer/redux/version/actions.ts8
-rw-r--r--gui/src/renderer/redux/version/reducers.ts3
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: