summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/containers
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/renderer/containers')
-rw-r--r--gui/src/renderer/containers/AdvancedSettingsPage.tsx86
-rw-r--r--gui/src/renderer/containers/PreferencesPage.tsx65
-rw-r--r--gui/src/renderer/containers/ProblemReportPage.tsx (renamed from gui/src/renderer/containers/SupportPage.tsx)6
-rw-r--r--gui/src/renderer/containers/SettingsPage.tsx36
4 files changed, 4 insertions, 189 deletions
diff --git a/gui/src/renderer/containers/AdvancedSettingsPage.tsx b/gui/src/renderer/containers/AdvancedSettingsPage.tsx
deleted file mode 100644
index 203067f1af..0000000000
--- a/gui/src/renderer/containers/AdvancedSettingsPage.tsx
+++ /dev/null
@@ -1,86 +0,0 @@
-import { connect } from 'react-redux';
-
-import { TunnelProtocol } from '../../shared/daemon-rpc-types';
-import log from '../../shared/logging';
-import RelaySettingsBuilder from '../../shared/relay-settings-builder';
-import AdvancedSettings from '../components/AdvancedSettings';
-import withAppContext, { IAppContext } from '../context';
-import { IHistoryProps, withHistory } from '../lib/history';
-import { RoutePath } from '../lib/routes';
-import { RelaySettingsRedux } from '../redux/settings/reducers';
-import { IReduxState, ReduxDispatch } from '../redux/store';
-
-const mapStateToProps = (state: IReduxState) => {
- const tunnelProtocol = mapRelaySettingsToProtocol(state.settings.relaySettings);
-
- return {
- enableIpv6: state.settings.enableIpv6,
- blockWhenDisconnected: state.settings.blockWhenDisconnected,
- tunnelProtocol,
- };
-};
-
-const mapRelaySettingsToProtocol = (relaySettings: RelaySettingsRedux) => {
- if ('normal' in relaySettings) {
- const { tunnelProtocol } = relaySettings.normal;
- return tunnelProtocol === 'any' ? undefined : tunnelProtocol;
- // since the GUI doesn't display custom settings, just display the default ones.
- // If the user sets any settings, then those will be applied.
- } else if ('customTunnelEndpoint' in relaySettings) {
- return undefined;
- } else {
- throw new Error('Unknown type of relay settings.');
- }
-};
-
-const mapDispatchToProps = (_dispatch: ReduxDispatch, props: IHistoryProps & IAppContext) => {
- return {
- onClose: () => {
- props.history.pop();
- },
-
- setTunnelProtocol: async (tunnelProtocol: TunnelProtocol | undefined) => {
- const relayUpdate = RelaySettingsBuilder.normal()
- .tunnel.tunnelProtocol((config) => {
- if (tunnelProtocol) {
- config.tunnelProtocol.exact(tunnelProtocol);
- } else {
- config.tunnelProtocol.any();
- }
- })
- .build();
- try {
- await props.app.updateRelaySettings(relayUpdate);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update tunnel protocol constraints', error.message);
- }
- },
-
- setEnableIpv6: async (enableIpv6: boolean) => {
- try {
- await props.app.setEnableIpv6(enableIpv6);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update enable IPv6', error.message);
- }
- },
-
- setBlockWhenDisconnected: async (blockWhenDisconnected: boolean) => {
- try {
- await props.app.setBlockWhenDisconnected(blockWhenDisconnected);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update block when disconnected', error.message);
- }
- },
-
- onViewWireguardSettings: () => props.history.push(RoutePath.wireguardSettings),
- onViewOpenVpnSettings: () => props.history.push(RoutePath.openVpnSettings),
- onViewSplitTunneling: () => props.history.push(RoutePath.splitTunneling),
- };
-};
-
-export default withAppContext(
- withHistory(connect(mapStateToProps, mapDispatchToProps)(AdvancedSettings)),
-);
diff --git a/gui/src/renderer/containers/PreferencesPage.tsx b/gui/src/renderer/containers/PreferencesPage.tsx
deleted file mode 100644
index be2dce9373..0000000000
--- a/gui/src/renderer/containers/PreferencesPage.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import { connect } from 'react-redux';
-
-import { IDnsOptions } from '../../shared/daemon-rpc-types';
-import log from '../../shared/logging';
-import Preferences from '../components/Preferences';
-import withAppContext, { IAppContext } from '../context';
-import { IHistoryProps, withHistory } from '../lib/history';
-import { IReduxState, ReduxDispatch } from '../redux/store';
-
-const mapStateToProps = (state: IReduxState) => ({
- autoStart: state.settings.autoStart,
- allowLan: state.settings.allowLan,
- showBetaReleases: state.settings.showBetaReleases,
- isBeta: state.version.isBeta,
- autoConnect: state.settings.guiSettings.autoConnect,
- enableSystemNotifications: state.settings.guiSettings.enableSystemNotifications,
- monochromaticIcon: state.settings.guiSettings.monochromaticIcon,
- startMinimized: state.settings.guiSettings.startMinimized,
- unpinnedWindow: state.settings.guiSettings.unpinnedWindow,
- dns: state.settings.dns,
-});
-
-const mapDispatchToProps = (_dispatch: ReduxDispatch, props: IHistoryProps & IAppContext) => {
- return {
- onClose: () => {
- props.history.pop();
- },
- setEnableSystemNotifications: (flag: boolean) => {
- props.app.setEnableSystemNotifications(flag);
- },
- setAutoStart: async (autoStart: boolean) => {
- try {
- await props.app.setAutoStart(autoStart);
- } catch (e) {
- const error = e as Error;
- log.error(`Cannot set auto-start: ${error.message}`);
- }
- },
- setAutoConnect: (autoConnect: boolean) => {
- props.app.setAutoConnect(autoConnect);
- },
- setAllowLan: (allowLan: boolean) => {
- void props.app.setAllowLan(allowLan);
- },
- setShowBetaReleases: (showBetaReleases: boolean) => {
- void props.app.setShowBetaReleases(showBetaReleases);
- },
- setStartMinimized: (startMinimized: boolean) => {
- props.app.setStartMinimized(startMinimized);
- },
- setMonochromaticIcon: (monochromaticIcon: boolean) => {
- props.app.setMonochromaticIcon(monochromaticIcon);
- },
- setUnpinnedWindow: (unpinnedWindow: boolean) => {
- props.app.setUnpinnedWindow(unpinnedWindow);
- },
- setDnsOptions: (dns: IDnsOptions) => {
- return props.app.setDnsOptions(dns);
- },
- };
-};
-
-export default withAppContext(
- withHistory(connect(mapStateToProps, mapDispatchToProps)(Preferences)),
-);
diff --git a/gui/src/renderer/containers/SupportPage.tsx b/gui/src/renderer/containers/ProblemReportPage.tsx
index 37e6b86031..1c405134c8 100644
--- a/gui/src/renderer/containers/SupportPage.tsx
+++ b/gui/src/renderer/containers/ProblemReportPage.tsx
@@ -1,7 +1,7 @@
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
-import Support from '../components/Support';
+import ProblemReport from '../components/ProblemReport';
import withAppContext, { IAppContext } from '../context';
import { IHistoryProps, withHistory } from '../lib/history';
import { IReduxState, ReduxDispatch } from '../redux/store';
@@ -34,4 +34,6 @@ const mapDispatchToProps = (dispatch: ReduxDispatch, props: IAppContext & IHisto
};
};
-export default withAppContext(withHistory(connect(mapStateToProps, mapDispatchToProps)(Support)));
+export default withAppContext(
+ withHistory(connect(mapStateToProps, mapDispatchToProps)(ProblemReport)),
+);
diff --git a/gui/src/renderer/containers/SettingsPage.tsx b/gui/src/renderer/containers/SettingsPage.tsx
deleted file mode 100644
index 58689e31d9..0000000000
--- a/gui/src/renderer/containers/SettingsPage.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import { connect } from 'react-redux';
-
-import Settings from '../components/Settings';
-import withAppContext, { IAppContext } from '../context';
-import { IHistoryProps, withHistory } from '../lib/history';
-import { RoutePath } from '../lib/routes';
-import { IReduxState, ReduxDispatch } from '../redux/store';
-
-const mapStateToProps = (state: IReduxState, props: IAppContext) => ({
- preferredLocaleDisplayName: props.app.getPreferredLocaleDisplayName(
- state.settings.guiSettings.preferredLocale,
- ),
- loginState: state.account.status,
- connectedToDaemon: state.userInterface.connectedToDaemon,
- accountExpiry: state.account.expiry,
- appVersion: state.version.current,
- consistentVersion: state.version.consistent,
- upToDateVersion: state.version.suggestedUpgrade ? false : true,
- suggestedIsBeta: state.version.suggestedIsBeta ?? false,
- isOffline: state.connection.isBlocked,
-});
-const mapDispatchToProps = (_dispatch: ReduxDispatch, props: IHistoryProps & IAppContext) => {
- return {
- onQuit: () => props.app.quit(),
- onClose: () => props.history.dismiss(),
- onViewSelectLanguage: () => props.history.push(RoutePath.selectLanguage),
- onViewAccount: () => props.history.push(RoutePath.accountSettings),
- onViewSupport: () => props.history.push(RoutePath.support),
- onViewPreferences: () => props.history.push(RoutePath.preferences),
- onViewAdvancedSettings: () => props.history.push(RoutePath.advancedSettings),
- onExternalLink: (url: string) => props.app.openUrl(url),
- updateAccountData: () => props.app.updateAccountData(),
- };
-};
-
-export default withAppContext(withHistory(connect(mapStateToProps, mapDispatchToProps)(Settings)));