diff options
Diffstat (limited to 'gui/src/renderer/containers')
| -rw-r--r-- | gui/src/renderer/containers/AdvancedSettingsPage.tsx | 86 | ||||
| -rw-r--r-- | gui/src/renderer/containers/PreferencesPage.tsx | 65 | ||||
| -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.tsx | 36 |
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))); |
