diff options
Diffstat (limited to 'gui/src')
129 files changed, 296 insertions, 192 deletions
diff --git a/gui/src/main/account-data-cache.ts b/gui/src/main/account-data-cache.ts index 031ffb50bd..38d2cb8a01 100644 --- a/gui/src/main/account-data-cache.ts +++ b/gui/src/main/account-data-cache.ts @@ -1,6 +1,6 @@ import { closeToExpiry, hasExpired } from '../shared/account-expiry'; import { AccountToken, IAccountData, VoucherResponse } from '../shared/daemon-rpc-types'; -import { DateComponent, dateByAddingComponent } from '../shared/date-helper'; +import { dateByAddingComponent, DateComponent } from '../shared/date-helper'; import log from '../shared/logging'; import { Scheduler } from '../shared/scheduler'; import { InvalidAccountError } from './errors'; diff --git a/gui/src/main/autostart.ts b/gui/src/main/autostart.ts index d5fdf39685..763862178e 100644 --- a/gui/src/main/autostart.ts +++ b/gui/src/main/autostart.ts @@ -1,6 +1,7 @@ import { app } from 'electron'; import fs from 'fs'; import path from 'path'; + import log from '../shared/logging'; import { getDesktopEntries } from './linux-desktop-entry'; diff --git a/gui/src/main/changelog.ts b/gui/src/main/changelog.ts index 76fead30af..978b0b28e6 100644 --- a/gui/src/main/changelog.ts +++ b/gui/src/main/changelog.ts @@ -1,5 +1,6 @@ import fs from 'fs'; import path from 'path'; + import { IChangelog } from '../shared/ipc-types'; import log from '../shared/logging'; diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index b57591c4af..b3add4ec1d 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -1,61 +1,61 @@ import * as grpc from '@grpc/grpc-js'; +import { Empty } from 'google-protobuf/google/protobuf/empty_pb.js'; import { BoolValue, StringValue, UInt32Value, } from 'google-protobuf/google/protobuf/wrappers_pb.js'; -import { Empty } from 'google-protobuf/google/protobuf/empty_pb.js'; import { promisify } from 'util'; + import { AccountToken, + AfterDisconnect, + BridgeSettings, + BridgeState, + ConnectionConfig, Constraint, - IRelayListCountry, - IRelayListCity, - IRelayListHostname, - IWireguardTunnelData, + DaemonEvent, + ErrorStateCause, + FirewallPolicyError, + IAccountData, + IAppVersionInfo, IBridgeConstraints, - IWireguardConstraints, - ITunnelOptions, + IDevice, + IDeviceConfig, + IDeviceEvent, + IDeviceRemoval, + IDnsOptions, + IErrorState, + ILocation, IOpenVpnConstraints, + IOpenVpnTunnelData, + IProxyEndpoint, IRelayList, + IRelayListCity, + IRelayListCountry, + IRelayListHostname, + ISettings, IShadowsocksEndpointData, - RelayProtocol, - BridgeSettings, - FirewallPolicyError, - BridgeState, - ILocation, - IAppVersionInfo, - IAccountData, - IOpenVpnTunnelData, - TunnelState, - AfterDisconnect, - IErrorState, - ErrorStateCause, - TunnelParameterError, + ITunnelOptions, ITunnelStateRelayInfo, - TunnelType, - IProxyEndpoint, + IWireguardConstraints, + IWireguardTunnelData, + ProxySettings, ProxyType, - ISettings, - ConnectionConfig, - DaemonEvent, + RelayLocation, + RelayProtocol, RelaySettings, RelaySettingsUpdate, - RelayLocation, - ProxySettings, - VoucherResponse, + TunnelParameterError, TunnelProtocol, - IDnsOptions, - IDeviceConfig, - IDevice, - IDeviceRemoval, - IDeviceEvent, + TunnelState, + TunnelType, + VoucherResponse, } from '../shared/daemon-rpc-types'; import log from '../shared/logging'; - +import { CommunicationError, InvalidAccountError, TooManyDevicesError } from './errors'; import { ManagementServiceClient } from './management_interface/management_interface_grpc_pb'; import * as grpcTypes from './management_interface/management_interface_pb'; -import { CommunicationError, InvalidAccountError, TooManyDevicesError } from './errors'; const NETWORK_CALL_TIMEOUT = 10000; const CHANNEL_STATE_TIMEOUT = 1000 * 60 * 60; diff --git a/gui/src/main/gui-settings.ts b/gui/src/main/gui-settings.ts index a4e7a31d22..f8aa81f665 100644 --- a/gui/src/main/gui-settings.ts +++ b/gui/src/main/gui-settings.ts @@ -1,6 +1,7 @@ import { app } from 'electron'; import * as fs from 'fs'; import * as path from 'path'; + import { IGuiSettingsState, SYSTEM_PREFERRED_LOCALE_KEY } from '../shared/gui-settings-state'; import log from '../shared/logging'; diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts index a47fa699df..e36c8d1b70 100644 --- a/gui/src/main/index.ts +++ b/gui/src/main/index.ts @@ -16,10 +16,12 @@ import { import fs from 'fs'; import * as path from 'path'; import util from 'util'; + import config from '../config.json'; import { closeToExpiry, hasExpired } from '../shared/account-expiry'; import { IWindowsApplication } from '../shared/application-types'; import BridgeSettingsBuilder from '../shared/bridge-settings-builder'; +import { connectEnabled, disconnectEnabled, reconnectEnabled } from '../shared/connect-helper'; import { AccountToken, BridgeSettings, @@ -28,6 +30,7 @@ import { IAccountData, IAppVersionInfo, IDeviceConfig, + IDeviceEvent, IDeviceRemoval, IDnsOptions, IRelayList, @@ -36,15 +39,13 @@ import { RelaySettings, RelaySettingsUpdate, TunnelState, - IDeviceEvent, } from '../shared/daemon-rpc-types'; import { messages, relayLocations } from '../shared/gettext'; import { SYSTEM_PREFERRED_LOCALE_KEY } from '../shared/gui-settings-state'; +import { ITranslations, MacOsScrollbarVisibility } from '../shared/ipc-schema'; +import { IChangelog, ICurrentAppVersionInfo } from '../shared/ipc-types'; import log, { ConsoleOutput, Logger } from '../shared/logging'; import { LogLevel } from '../shared/logging-types'; -import { readChangelog } from './changelog'; -import { IpcMainEventChannel } from './ipc-event-channel'; -import { IChangelog, ICurrentAppVersionInfo } from '../shared/ipc-types'; import { AccountExpiredNotificationProvider, CloseToAccountExpiryNotificationProvider, @@ -55,11 +56,14 @@ import { import { Scheduler } from '../shared/scheduler'; import AccountDataCache from './account-data-cache'; import { getOpenAtLogin, setOpenAtLogin } from './autostart'; +import { readChangelog } from './changelog'; import { ConnectionObserver, DaemonRpc, SubscriptionListener } from './daemon-rpc'; import { InvalidAccountError } from './errors'; import Expectation from './expectation'; import GuiSettings from './gui-settings'; +import { IpcMainEventChannel } from './ipc-event-channel'; import { findIconPath } from './linux-desktop-entry'; +import { loadTranslations } from './load-translations'; import { backupLogFile, cleanUpLogDirectory, @@ -70,15 +74,12 @@ import { IpcInput, OLD_LOG_FILES, } from './logging'; -import { loadTranslations } from './load-translations'; import NotificationController from './notification-controller'; import { isMacOs11OrNewer } from './platform-version'; import { resolveBin } from './proc'; import ReconnectionBackoff from './reconnection-backoff'; import TrayIconController, { TrayIconType } from './tray-icon-controller'; import WindowController from './window-controller'; -import { ITranslations, MacOsScrollbarVisibility } from '../shared/ipc-schema'; -import { connectEnabled, disconnectEnabled, reconnectEnabled } from '../shared/connect-helper'; const execAsync = util.promisify(exec); diff --git a/gui/src/main/ipc-event-channel.ts b/gui/src/main/ipc-event-channel.ts index 9bd8af1490..d883f52152 100644 --- a/gui/src/main/ipc-event-channel.ts +++ b/gui/src/main/ipc-event-channel.ts @@ -1,4 +1,5 @@ import { ipcMain } from 'electron'; + import { createIpcMain } from '../shared/ipc-helpers'; import { ipcSchema } from '../shared/ipc-schema'; diff --git a/gui/src/main/linux-desktop-entry.ts b/gui/src/main/linux-desktop-entry.ts index 52ea526022..23b2756f23 100644 --- a/gui/src/main/linux-desktop-entry.ts +++ b/gui/src/main/linux-desktop-entry.ts @@ -2,6 +2,7 @@ import child_process from 'child_process'; import { nativeImage } from 'electron'; import fs from 'fs'; import path from 'path'; + import { ILinuxApplication } from '../shared/application-types'; import log from '../shared/logging'; diff --git a/gui/src/main/linux-split-tunneling.ts b/gui/src/main/linux-split-tunneling.ts index 17f24619f4..cb8bd9e740 100644 --- a/gui/src/main/linux-split-tunneling.ts +++ b/gui/src/main/linux-split-tunneling.ts @@ -1,17 +1,18 @@ import argvSplit from 'argv-split'; import child_process from 'child_process'; import path from 'path'; + import { ILinuxSplitTunnelingApplication } from '../shared/application-types'; import { messages } from '../shared/gettext'; import { LaunchApplicationResult } from '../shared/ipc-schema'; import { Scheduler } from '../shared/scheduler'; import { - getDesktopEntries, - readDesktopEntry, + DesktopEntry, findIconPath, + getDesktopEntries, getImageDataUrl, + readDesktopEntry, shouldShowApplication, - DesktopEntry, } from './linux-desktop-entry'; const PROBLEMATIC_APPLICATIONS = { diff --git a/gui/src/main/load-translations.ts b/gui/src/main/load-translations.ts index cb597e484d..a3e892ce0b 100644 --- a/gui/src/main/load-translations.ts +++ b/gui/src/main/load-translations.ts @@ -2,6 +2,7 @@ import fs from 'fs'; import { GetTextTranslations, po } from 'gettext-parser'; import Gettext from 'node-gettext'; import path from 'path'; + import log from '../shared/logging'; const SOURCE_LANGUAGE = 'en'; diff --git a/gui/src/main/logging.ts b/gui/src/main/logging.ts index 79a42b35c1..0e488914ce 100644 --- a/gui/src/main/logging.ts +++ b/gui/src/main/logging.ts @@ -1,8 +1,9 @@ import { app } from 'electron'; import fs from 'fs'; import path from 'path'; + +import { ILogInput, ILogOutput, LogLevel } from '../shared/logging-types'; import { IpcMainEventChannel } from './ipc-event-channel'; -import { LogLevel, ILogInput, ILogOutput } from '../shared/logging-types'; export const OLD_LOG_FILES = ['main.log', 'renderer.log', 'frontend.log']; diff --git a/gui/src/main/notification-controller.ts b/gui/src/main/notification-controller.ts index c4816e796a..1f3b143590 100644 --- a/gui/src/main/notification-controller.ts +++ b/gui/src/main/notification-controller.ts @@ -1,6 +1,7 @@ -import { app, nativeImage, NativeImage, Notification } from 'electron'; +import { app, NativeImage, nativeImage, Notification } from 'electron'; import os from 'os'; import path from 'path'; + import { TunnelState } from '../shared/daemon-rpc-types'; import log from '../shared/logging'; import { diff --git a/gui/src/main/tray-icon-controller.ts b/gui/src/main/tray-icon-controller.ts index f1028bd11c..42d69397cf 100644 --- a/gui/src/main/tray-icon-controller.ts +++ b/gui/src/main/tray-icon-controller.ts @@ -1,8 +1,9 @@ import { exec as execAsync } from 'child_process'; -import { Menu, nativeImage, NativeImage, Tray } from 'electron'; +import { Menu, NativeImage, nativeImage, Tray } from 'electron'; import path from 'path'; import { sprintf } from 'sprintf-js'; import { promisify } from 'util'; + import { connectEnabled, disconnectEnabled, reconnectEnabled } from '../shared/connect-helper'; import { AccountToken, TunnelState } from '../shared/daemon-rpc-types'; import { messages } from '../shared/gettext'; diff --git a/gui/src/main/window-controller.ts b/gui/src/main/window-controller.ts index 09250f4f8c..4676dbbecb 100644 --- a/gui/src/main/window-controller.ts +++ b/gui/src/main/window-controller.ts @@ -1,4 +1,5 @@ import { BrowserWindow, Display, screen, Tray, WebContents } from 'electron'; + import { IWindowShapeParameters } from '../shared/ipc-types'; import { Scheduler } from '../shared/scheduler'; import { IpcMainEventChannel } from './ipc-event-channel'; diff --git a/gui/src/main/windows-split-tunneling.ts b/gui/src/main/windows-split-tunneling.ts index 2ae118db4a..00c316ca79 100644 --- a/gui/src/main/windows-split-tunneling.ts +++ b/gui/src/main/windows-split-tunneling.ts @@ -1,34 +1,35 @@ import { app, shell } from 'electron'; import fs from 'fs'; import path from 'path'; + import { IWindowsApplication } from '../shared/application-types'; import log from '../shared/logging'; import { ArrayValue, DOS_HEADER, + DWORD, IMAGE_DATA_DIRECTORY, IMAGE_DIRECTORY_ENTRY_IMPORT, + IMAGE_DIRECTORY_ENTRY_RESOURCE, IMAGE_FILE_HEADER, IMAGE_IMPORT_MODULE_DIRECTORY, IMAGE_NT_HEADERS, IMAGE_NT_HEADERS64, - ImageNtHeadersUnion, IMAGE_OPTIONAL_HEADER32, + IMAGE_RESOURCE_DIRECTORY, + IMAGE_RESOURCE_DIRECTORY_DATA_ENTRY, + IMAGE_RESOURCE_DIRECTORY_ID_ENTRY, + ImageNtHeadersUnion, ImageOptionalHeaderUnion, PrimitiveValue, rvaToOffset as rvaToOffsetImpl, - StructValue, - Value, - DWORD, - IMAGE_DIRECTORY_ENTRY_RESOURCE, - IMAGE_RESOURCE_DIRECTORY, - IMAGE_RESOURCE_DIRECTORY_DATA_ENTRY, - VS_VERSIONINFO, STRING_FILE_INFO, STRING_TABLE, - StructWrapper, STRING_TABLE_STRING, - IMAGE_RESOURCE_DIRECTORY_ID_ENTRY, + StructValue, + StructWrapper, + Value, + VS_VERSIONINFO, } from './windows-pe-parser'; interface ShortcutDetails { diff --git a/gui/src/renderer/app.tsx b/gui/src/renderer/app.tsx index 6e29794a83..b221f0a0e1 100644 --- a/gui/src/renderer/app.tsx +++ b/gui/src/renderer/app.tsx @@ -2,29 +2,7 @@ import { batch, Provider } from 'react-redux'; import { Router } from 'react-router'; import { bindActionCreators } from 'redux'; -import AppRouter from './components/AppRouter'; -import MacOsScrollbarDetection from './components/MacOsScrollbarDetection'; -import ErrorBoundary from './components/ErrorBoundary'; -import PlatformWindowContainer from './containers/PlatformWindowContainer'; -import { AppContext } from './context'; - -import accountActions from './redux/account/actions'; -import connectionActions from './redux/connection/actions'; -import settingsActions from './redux/settings/actions'; -import configureStore from './redux/store'; -import userInterfaceActions from './redux/userinterface/actions'; -import versionActions from './redux/version/actions'; - -import { IChangelog, ICurrentAppVersionInfo } from '../shared/ipc-types'; -import { IWindowsApplication, ILinuxSplitTunnelingApplication } from '../shared/application-types'; -import { IGuiSettingsState, SYSTEM_PREFERRED_LOCALE_KEY } from '../shared/gui-settings-state'; -import { messages, relayLocations } from '../shared/gettext'; -import log, { ConsoleOutput } from '../shared/logging'; -import { IRelayListPair, LaunchApplicationResult } from '../shared/ipc-schema'; -import { Scheduler } from '../shared/scheduler'; -import History, { ITransitionSpecification, transitions } from './lib/history'; -import { loadTranslations } from './lib/load-translations'; - +import { ILinuxSplitTunnelingApplication, IWindowsApplication } from '../shared/application-types'; import { AccountToken, BridgeSettings, @@ -33,6 +11,7 @@ import { IAppVersionInfo, IDevice, IDeviceConfig, + IDeviceEvent, IDeviceRemoval, IDnsOptions, ILocation, @@ -42,13 +21,31 @@ import { RelaySettingsUpdate, TunnelState, VoucherResponse, - IDeviceEvent, } from '../shared/daemon-rpc-types'; +import { messages, relayLocations } from '../shared/gettext'; +import { IGuiSettingsState, SYSTEM_PREFERRED_LOCALE_KEY } from '../shared/gui-settings-state'; +import { IRelayListPair, LaunchApplicationResult } from '../shared/ipc-schema'; +import { IChangelog, ICurrentAppVersionInfo } from '../shared/ipc-types'; +import log, { ConsoleOutput } from '../shared/logging'; import { LogLevel } from '../shared/logging-types'; -import IpcOutput from './lib/logging'; -import { RoutePath } from './lib/routes'; +import { Scheduler } from '../shared/scheduler'; +import AppRouter from './components/AppRouter'; import { Changelog } from './components/Changelog'; +import ErrorBoundary from './components/ErrorBoundary'; +import MacOsScrollbarDetection from './components/MacOsScrollbarDetection'; import { ModalContainer } from './components/Modal'; +import PlatformWindowContainer from './containers/PlatformWindowContainer'; +import { AppContext } from './context'; +import History, { ITransitionSpecification, transitions } from './lib/history'; +import { loadTranslations } from './lib/load-translations'; +import IpcOutput from './lib/logging'; +import { RoutePath } from './lib/routes'; +import accountActions from './redux/account/actions'; +import connectionActions from './redux/connection/actions'; +import settingsActions from './redux/settings/actions'; +import configureStore from './redux/store'; +import userInterfaceActions from './redux/userinterface/actions'; +import versionActions from './redux/version/actions'; const IpcRendererEventChannel = window.ipc; diff --git a/gui/src/renderer/components/Account.tsx b/gui/src/renderer/components/Account.tsx index 4a84e3c110..af714273af 100644 --- a/gui/src/renderer/components/Account.tsx +++ b/gui/src/renderer/components/Account.tsx @@ -1,5 +1,7 @@ import * as React from 'react'; + import { formatDate, hasExpired } from '../../shared/account-expiry'; +import { AccountToken, IDevice } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; import { AccountContainer, @@ -10,23 +12,21 @@ import { AccountRows, AccountRowValue, DeviceRowValue, - StyledSpinnerContainer, StyledBuyCreditButton, StyledContainer, StyledRedeemVoucherButton, + StyledSpinnerContainer, } from './AccountStyles'; import AccountTokenLabel from './AccountTokenLabel'; import * as AppButton from './AppButton'; import { AriaDescribed, AriaDescription, AriaDescriptionGroup } from './AriaGroup'; +import ImageView from './ImageView'; +import { BackAction } from './KeyboardNavigation'; import { Layout } from './Layout'; import { ModalAlert, ModalAlertType, ModalMessage } from './Modal'; import { NavigationBar, NavigationItems, TitleBarItem } from './NavigationBar'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; -import { AccountToken, IDevice } from '../../shared/daemon-rpc-types'; -import ImageView from './ImageView'; -import { BackAction } from './KeyboardNavigation'; - interface IProps { deviceName?: string; accountToken?: AccountToken; diff --git a/gui/src/renderer/components/AccountStyles.tsx b/gui/src/renderer/components/AccountStyles.tsx index 549b0cda7d..cccb1c95af 100644 --- a/gui/src/renderer/components/AccountStyles.tsx +++ b/gui/src/renderer/components/AccountStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import * as AppButton from './AppButton'; import { normalText, tinyText } from './common-styles'; diff --git a/gui/src/renderer/components/AdvancedSettings.tsx b/gui/src/renderer/components/AdvancedSettings.tsx index 596a638f51..4e6485a6e6 100644 --- a/gui/src/renderer/components/AdvancedSettings.tsx +++ b/gui/src/renderer/components/AdvancedSettings.tsx @@ -1,4 +1,5 @@ import * as React from 'react'; + import { TunnelProtocol } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; import { @@ -9,14 +10,14 @@ import { import * as AppButton from './AppButton'; import { AriaDescription, AriaInput, AriaInputGroup, AriaLabel } from './AriaGroup'; import * as Cell from './cell'; +import { ISelectorItem } from './cell/Selector'; import CustomDnsSettings from './CustomDnsSettings'; +import { BackAction } from './KeyboardNavigation'; import { Layout, SettingsContainer } from './Layout'; import { ModalAlert, ModalAlertType, ModalMessage } from './Modal'; import { NavigationBar, NavigationContainer, NavigationItems, TitleBarItem } from './NavigationBar'; -import { ISelectorItem } from './cell/Selector'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; import Switch from './Switch'; -import { BackAction } from './KeyboardNavigation'; type OptionalTunnelProtocol = TunnelProtocol | undefined; diff --git a/gui/src/renderer/components/AdvancedSettingsStyles.tsx b/gui/src/renderer/components/AdvancedSettingsStyles.tsx index f7a87b5311..06a0103855 100644 --- a/gui/src/renderer/components/AdvancedSettingsStyles.tsx +++ b/gui/src/renderer/components/AdvancedSettingsStyles.tsx @@ -1,6 +1,7 @@ import styled from 'styled-components'; -import { NavigationScrollbars } from './NavigationBar'; + import Selector from './cell/Selector'; +import { NavigationScrollbars } from './NavigationBar'; export const StyledSelectorContainer = styled.div({ flex: 0, diff --git a/gui/src/renderer/components/AppButton.tsx b/gui/src/renderer/components/AppButton.tsx index b4329bed61..a9bc44a7f4 100644 --- a/gui/src/renderer/components/AppButton.tsx +++ b/gui/src/renderer/components/AppButton.tsx @@ -1,5 +1,6 @@ import React, { useCallback, useContext, useMemo, useState } from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import log from '../../shared/logging'; import { useMounted } from '../lib/utilityHooks'; diff --git a/gui/src/renderer/components/AppButtonStyles.tsx b/gui/src/renderer/components/AppButtonStyles.tsx index 6322a33783..f22eb3473a 100644 --- a/gui/src/renderer/components/AppButtonStyles.tsx +++ b/gui/src/renderer/components/AppButtonStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { buttonText } from './common-styles'; export const StyledLabel = styled.span(buttonText, (props: { textOffset: number }) => ({ diff --git a/gui/src/renderer/components/AppRouter.tsx b/gui/src/renderer/components/AppRouter.tsx index 46b322785a..d061c7b9d5 100644 --- a/gui/src/renderer/components/AppRouter.tsx +++ b/gui/src/renderer/components/AppRouter.tsx @@ -1,12 +1,7 @@ import { Action } from 'history'; import * as React from 'react'; import { Route, Switch } from 'react-router'; -import Launch from './Launch'; -import KeyboardNavigation from './KeyboardNavigation'; -import MainView from './MainView'; -import Focus, { IFocusHandle } from './Focus'; -import SplitTunnelingSettings from './SplitTunnelingSettings'; -import TransitionContainer, { TransitionView } from './TransitionContainer'; + import AccountPage from '../containers/AccountPage'; import AdvancedSettingsPage from '../containers/AdvancedSettingsPage'; import LoginPage from '../containers/LoginPage'; @@ -18,16 +13,22 @@ import SettingsPage from '../containers/SettingsPage'; import SupportPage from '../containers/SupportPage'; import WireguardSettingsPage from '../containers/WireguardSettingsPage'; import { IHistoryProps, ITransitionSpecification, transitions, withHistory } from '../lib/history'; +import { RoutePath } from '../lib/routes'; +import { DeviceRevokedView } from './DeviceRevokedView'; import { SetupFinished, TimeAdded, VoucherInput, VoucherVerificationSuccess, } from './ExpiredAccountAddTime'; -import { RoutePath } from '../lib/routes'; import FilterByProvider from './FilterByProvider'; +import Focus, { IFocusHandle } from './Focus'; +import KeyboardNavigation from './KeyboardNavigation'; +import Launch from './Launch'; +import MainView from './MainView'; +import SplitTunnelingSettings from './SplitTunnelingSettings'; import TooManyDevices from './TooManyDevices'; -import { DeviceRevokedView } from './DeviceRevokedView'; +import TransitionContainer, { TransitionView } from './TransitionContainer'; interface IAppRoutesState { currentLocation: IHistoryProps['history']['location']; diff --git a/gui/src/renderer/components/BetaLabel.tsx b/gui/src/renderer/components/BetaLabel.tsx index 998e6ad278..ca19a9ef4b 100644 --- a/gui/src/renderer/components/BetaLabel.tsx +++ b/gui/src/renderer/components/BetaLabel.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import { messages } from '../../shared/gettext'; diff --git a/gui/src/renderer/components/BridgeLocations.tsx b/gui/src/renderer/components/BridgeLocations.tsx index 9a185915c8..2eed268e2f 100644 --- a/gui/src/renderer/components/BridgeLocations.tsx +++ b/gui/src/renderer/components/BridgeLocations.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { LiftedConstraint, RelayLocation } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; diff --git a/gui/src/renderer/components/Changelog.tsx b/gui/src/renderer/components/Changelog.tsx index 7299e40c30..9bd55ba411 100644 --- a/gui/src/renderer/components/Changelog.tsx +++ b/gui/src/renderer/components/Changelog.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { messages } from '../../shared/gettext'; import { useAppContext } from '../context'; import { useSelector } from '../redux/store'; diff --git a/gui/src/renderer/components/ChevronButton.tsx b/gui/src/renderer/components/ChevronButton.tsx index 1e62ebbc08..0485c22caf 100644 --- a/gui/src/renderer/components/ChevronButton.tsx +++ b/gui/src/renderer/components/ChevronButton.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import * as Cell from './cell'; diff --git a/gui/src/renderer/components/ClipboardLabel.tsx b/gui/src/renderer/components/ClipboardLabel.tsx index 071a6991a8..98fcede85e 100644 --- a/gui/src/renderer/components/ClipboardLabel.tsx +++ b/gui/src/renderer/components/ClipboardLabel.tsx @@ -1,5 +1,6 @@ import { useCallback } from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { messages } from '../../shared/gettext'; import log from '../../shared/logging'; diff --git a/gui/src/renderer/components/Connect.tsx b/gui/src/renderer/components/Connect.tsx index d861ab51f6..057858b477 100644 --- a/gui/src/renderer/components/Connect.tsx +++ b/gui/src/renderer/components/Connect.tsx @@ -1,8 +1,9 @@ import * as React from 'react'; import styled from 'styled-components'; + import { hasExpired } from '../../shared/account-expiry'; -import NotificationArea from '../components/NotificationArea'; import { AuthFailureKind, parseAuthFailure } from '../../shared/auth-failure'; +import NotificationArea from '../components/NotificationArea'; import { LoginState } from '../redux/account/reducers'; import { IConnectionReduxState } from '../redux/connection/reducers'; import { calculateHeaderBarStyle, DefaultHeaderBar } from './HeaderBar'; diff --git a/gui/src/renderer/components/ConnectionPanel.tsx b/gui/src/renderer/components/ConnectionPanel.tsx index 8564bbe417..b6e14f21d9 100644 --- a/gui/src/renderer/components/ConnectionPanel.tsx +++ b/gui/src/renderer/components/ConnectionPanel.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { sprintf } from 'sprintf-js'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { ProxyType, diff --git a/gui/src/renderer/components/ConnectionPanelDisclosure.tsx b/gui/src/renderer/components/ConnectionPanelDisclosure.tsx index 3d5db7eea1..bb6bdc988c 100644 --- a/gui/src/renderer/components/ConnectionPanelDisclosure.tsx +++ b/gui/src/renderer/components/ConnectionPanelDisclosure.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { normalText } from './common-styles'; import ImageView from './ImageView'; diff --git a/gui/src/renderer/components/CustomDnsSettings.tsx b/gui/src/renderer/components/CustomDnsSettings.tsx index 287ed58a4b..8c06ae8029 100644 --- a/gui/src/renderer/components/CustomDnsSettings.tsx +++ b/gui/src/renderer/components/CustomDnsSettings.tsx @@ -1,5 +1,6 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { sprintf } from 'sprintf-js'; + import { colors } from '../../config.json'; import { messages } from '../../shared/gettext'; import { useAppContext } from '../context'; diff --git a/gui/src/renderer/components/CustomDnsSettingsStyles.tsx b/gui/src/renderer/components/CustomDnsSettingsStyles.tsx index 1973a453b1..b8ec59ec36 100644 --- a/gui/src/renderer/components/CustomDnsSettingsStyles.tsx +++ b/gui/src/renderer/components/CustomDnsSettingsStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import * as Cell from './cell'; import ImageView from './ImageView'; diff --git a/gui/src/renderer/components/CustomScrollbars.tsx b/gui/src/renderer/components/CustomScrollbars.tsx index ad471e8c67..7acabeaeab 100644 --- a/gui/src/renderer/components/CustomScrollbars.tsx +++ b/gui/src/renderer/components/CustomScrollbars.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import styled from 'styled-components'; + import { MacOsScrollbarVisibility } from '../../shared/ipc-schema'; import { Scheduler } from '../../shared/scheduler'; import { useSelector } from '../redux/store'; diff --git a/gui/src/renderer/components/DeviceRevokedView.tsx b/gui/src/renderer/components/DeviceRevokedView.tsx index f7a41d6a41..74d4c0fd53 100644 --- a/gui/src/renderer/components/DeviceRevokedView.tsx +++ b/gui/src/renderer/components/DeviceRevokedView.tsx @@ -1,15 +1,16 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import { messages } from '../../shared/gettext'; import { useAppContext } from '../context'; import { useSelector } from '../redux/store'; import * as AppButton from './AppButton'; +import { bigText, smallText } from './common-styles'; import CustomScrollbars from './CustomScrollbars'; import { calculateHeaderBarStyle, DefaultHeaderBar } from './HeaderBar'; -import { Container } from './Layout'; import ImageView from './ImageView'; +import { Container } from './Layout'; import { Layout } from './Layout'; -import { bigText, smallText } from './common-styles'; export const StyledHeader = styled(DefaultHeaderBar)({ flex: 0, diff --git a/gui/src/renderer/components/ErrorBoundary.tsx b/gui/src/renderer/components/ErrorBoundary.tsx index e3fdfdd6f6..7014175ffa 100644 --- a/gui/src/renderer/components/ErrorBoundary.tsx +++ b/gui/src/renderer/components/ErrorBoundary.tsx @@ -1,5 +1,6 @@ import React from 'react'; import styled from 'styled-components'; + import { supportEmail } from '../../config.json'; import { messages } from '../../shared/gettext'; import log from '../../shared/logging'; diff --git a/gui/src/renderer/components/ErrorView.tsx b/gui/src/renderer/components/ErrorView.tsx index b233b46ede..527b982860 100644 --- a/gui/src/renderer/components/ErrorView.tsx +++ b/gui/src/renderer/components/ErrorView.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import { HeaderBarSettingsButton } from './HeaderBar'; import ImageView from './ImageView'; diff --git a/gui/src/renderer/components/ExpiredAccountAddTime.tsx b/gui/src/renderer/components/ExpiredAccountAddTime.tsx index 47939b8c65..276af92e26 100644 --- a/gui/src/renderer/components/ExpiredAccountAddTime.tsx +++ b/gui/src/renderer/components/ExpiredAccountAddTime.tsx @@ -1,8 +1,9 @@ import { useCallback } from 'react'; -import { useSelector } from '../redux/store'; +import { useParams } from 'react-router'; import { sprintf } from 'sprintf-js'; import styled from 'styled-components'; -import { links, colors } from '../../config.json'; + +import { colors, links } from '../../config.json'; import { formatDate } from '../../shared/account-expiry'; import { formatRelativeDate } from '../../shared/date-helper'; import { messages } from '../../shared/gettext'; @@ -11,6 +12,7 @@ import useActions from '../lib/actionsHook'; import { transitions, useHistory } from '../lib/history'; import { generateRoutePath, RoutePath } from '../lib/routes'; import account from '../redux/account/actions'; +import { useSelector } from '../redux/store'; import * as AppButton from './AppButton'; import { AriaDescribed, AriaDescription, AriaDescriptionGroup } from './AriaGroup'; import { hugeText, tinyText } from './common-styles'; @@ -24,7 +26,6 @@ import { RedeemVoucherResponse, RedeemVoucherSubmitButton, } from './RedeemVoucher'; -import { useParams } from 'react-router'; export const StyledHeader = styled(DefaultHeaderBar)({ flex: 0, diff --git a/gui/src/renderer/components/ExpiredAccountErrorView.tsx b/gui/src/renderer/components/ExpiredAccountErrorView.tsx index 8b2439e406..4367881fad 100644 --- a/gui/src/renderer/components/ExpiredAccountErrorView.tsx +++ b/gui/src/renderer/components/ExpiredAccountErrorView.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import { sprintf } from 'sprintf-js'; + import { links } from '../../config.json'; import { AccountToken, TunnelState } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; diff --git a/gui/src/renderer/components/ExpiredAccountErrorViewStyles.tsx b/gui/src/renderer/components/ExpiredAccountErrorViewStyles.tsx index 293604efe6..c1edce3599 100644 --- a/gui/src/renderer/components/ExpiredAccountErrorViewStyles.tsx +++ b/gui/src/renderer/components/ExpiredAccountErrorViewStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import AccountTokenLabel from './AccountTokenLabel'; import * as AppButton from './AppButton'; diff --git a/gui/src/renderer/components/FilterByProvider.tsx b/gui/src/renderer/components/FilterByProvider.tsx index 24aba7a097..335d8597d8 100644 --- a/gui/src/renderer/components/FilterByProvider.tsx +++ b/gui/src/renderer/components/FilterByProvider.tsx @@ -1,5 +1,6 @@ import { useCallback, useMemo, useState } from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { messages } from '../../shared/gettext'; import { useAppContext } from '../context'; diff --git a/gui/src/renderer/components/Focus.tsx b/gui/src/renderer/components/Focus.tsx index 85c2c307e4..c29cbe653e 100644 --- a/gui/src/renderer/components/Focus.tsx +++ b/gui/src/renderer/components/Focus.tsx @@ -2,6 +2,7 @@ import React, { useImperativeHandle, useState } from 'react'; import { useLocation } from 'react-router'; import { sprintf } from 'sprintf-js'; import styled from 'styled-components'; + import { messages } from '../../shared/gettext'; const FOCUS_FALLBACK_CLASS = 'focus-fallback'; diff --git a/gui/src/renderer/components/FormattableTextInput.tsx b/gui/src/renderer/components/FormattableTextInput.tsx index e1ea604fb9..133a6692e0 100644 --- a/gui/src/renderer/components/FormattableTextInput.tsx +++ b/gui/src/renderer/components/FormattableTextInput.tsx @@ -1,4 +1,5 @@ import React, { useCallback, useEffect, useRef } from 'react'; + import { useCombinedRefs } from '../lib/utilityHooks'; interface IFormattableTextInputProps extends React.InputHTMLAttributes<HTMLInputElement> { diff --git a/gui/src/renderer/components/HeaderBar.tsx b/gui/src/renderer/components/HeaderBar.tsx index 15ec961400..ab0284cfaf 100644 --- a/gui/src/renderer/components/HeaderBar.tsx +++ b/gui/src/renderer/components/HeaderBar.tsx @@ -1,14 +1,15 @@ import React, { useCallback } from 'react'; import { useSelector } from 'react-redux'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { TunnelState } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; import { useHistory } from '../lib/history'; +import { RoutePath } from '../lib/routes'; import { IReduxState } from '../redux/store'; import { FocusFallback } from './Focus'; import ImageView from './ImageView'; -import { RoutePath } from '../lib/routes'; export enum HeaderBarStyle { default = 'default', diff --git a/gui/src/renderer/components/KeyboardNavigation.tsx b/gui/src/renderer/components/KeyboardNavigation.tsx index 6b3851a49f..d098adc2b7 100644 --- a/gui/src/renderer/components/KeyboardNavigation.tsx +++ b/gui/src/renderer/components/KeyboardNavigation.tsx @@ -1,5 +1,6 @@ import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react'; import { useLocation } from 'react-router'; + import { useHistory } from '../lib/history'; import { disableDismissForRoutes, RoutePath } from '../lib/routes'; diff --git a/gui/src/renderer/components/Layout.tsx b/gui/src/renderer/components/Layout.tsx index f868c7671a..500084e5b1 100644 --- a/gui/src/renderer/components/Layout.tsx +++ b/gui/src/renderer/components/Layout.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import HeaderBar from './HeaderBar'; diff --git a/gui/src/renderer/components/List.tsx b/gui/src/renderer/components/List.tsx index b78577eac1..2d4f73b7f1 100644 --- a/gui/src/renderer/components/List.tsx +++ b/gui/src/renderer/components/List.tsx @@ -1,4 +1,5 @@ import { useCallback, useEffect, useRef, useState } from 'react'; + import { Scheduler } from '../../shared/scheduler'; import Accordion from './Accordion'; diff --git a/gui/src/renderer/components/LocationList.tsx b/gui/src/renderer/components/LocationList.tsx index 3fda5e0f49..50419bc838 100644 --- a/gui/src/renderer/components/LocationList.tsx +++ b/gui/src/renderer/components/LocationList.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { sprintf } from 'sprintf-js'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { compareRelayLocation, @@ -10,8 +11,8 @@ import { } from '../../shared/daemon-rpc-types'; import { messages, relayLocations } from '../../shared/gettext'; import { - IRelayLocationRedux, IRelayLocationCityRedux, + IRelayLocationRedux, IRelayLocationRelayRedux, } from '../redux/settings/reducers'; import * as Cell from './cell'; diff --git a/gui/src/renderer/components/LocationRow.tsx b/gui/src/renderer/components/LocationRow.tsx index 207c5900e8..38c0db4cfd 100644 --- a/gui/src/renderer/components/LocationRow.tsx +++ b/gui/src/renderer/components/LocationRow.tsx @@ -1,6 +1,7 @@ import React, { useCallback, useRef } from 'react'; import { sprintf } from 'sprintf-js'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { compareRelayLocation, RelayLocation } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; diff --git a/gui/src/renderer/components/Locations.tsx b/gui/src/renderer/components/Locations.tsx index 901d27c9ec..4f7fadfb5d 100644 --- a/gui/src/renderer/components/Locations.tsx +++ b/gui/src/renderer/components/Locations.tsx @@ -1,4 +1,5 @@ import * as React from 'react'; + import { RelayLocation } from '../../shared/daemon-rpc-types'; import { IRelayLocationRedux } from '../redux/settings/reducers'; import LocationList, { diff --git a/gui/src/renderer/components/Login.tsx b/gui/src/renderer/components/Login.tsx index ab93e1d6ac..d9ae7f105f 100644 --- a/gui/src/renderer/components/Login.tsx +++ b/gui/src/renderer/components/Login.tsx @@ -1,10 +1,17 @@ import React, { useCallback } from 'react'; import { sprintf } from 'sprintf-js'; + import { colors } from '../../config.json'; +import { AccountToken } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; +import { useAppContext } from '../context'; import { formatAccountToken } from '../lib/account'; +import { formatMarkdown } from '../markdown-formatter'; +import { LoginState } from '../redux/account/reducers'; +import { useSelector } from '../redux/store'; import Accordion from './Accordion'; import * as AppButton from './AppButton'; +import { AriaControlGroup, AriaControlled, AriaControls } from './AriaGroup'; import { Brand, HeaderBarSettingsButton } from './HeaderBar'; import ImageView from './ImageView'; import { Container, Header, Layout } from './Layout'; @@ -33,13 +40,6 @@ import { StyledTopInfo, } from './LoginStyles'; -import { AccountToken } from '../../shared/daemon-rpc-types'; -import { LoginState } from '../redux/account/reducers'; -import { AriaControlGroup, AriaControlled, AriaControls } from './AriaGroup'; -import { useSelector } from '../redux/store'; -import { useAppContext } from '../context'; -import { formatMarkdown } from '../markdown-formatter'; - interface IProps { accountToken?: AccountToken; accountHistory?: AccountToken; diff --git a/gui/src/renderer/components/LoginStyles.tsx b/gui/src/renderer/components/LoginStyles.tsx index f3302a397b..dcfc85c6c3 100644 --- a/gui/src/renderer/components/LoginStyles.tsx +++ b/gui/src/renderer/components/LoginStyles.tsx @@ -1,9 +1,10 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; -import ImageView from './ImageView'; import * as Cell from './cell'; import { hugeText, largeText, smallText, tinyText } from './common-styles'; import FormattableTextInput from './FormattableTextInput'; +import ImageView from './ImageView'; export const StyledAccountDropdownContainer = styled.ul({ display: 'flex', diff --git a/gui/src/renderer/components/MacOsScrollbarDetection.tsx b/gui/src/renderer/components/MacOsScrollbarDetection.tsx index 69de63cc6a..79910c3cdd 100644 --- a/gui/src/renderer/components/MacOsScrollbarDetection.tsx +++ b/gui/src/renderer/components/MacOsScrollbarDetection.tsx @@ -1,9 +1,10 @@ import React, { useEffect, useRef } from 'react'; import styled from 'styled-components'; + +import { MacOsScrollbarVisibility } from '../../shared/ipc-schema'; import useActions from '../lib/actionsHook'; -import userInterface from '../redux/userinterface/actions'; import { useSelector } from '../redux/store'; -import { MacOsScrollbarVisibility } from '../../shared/ipc-schema'; +import userInterface from '../redux/userinterface/actions'; const StyledContainer = styled.div({ position: 'absolute', diff --git a/gui/src/renderer/components/MainView.tsx b/gui/src/renderer/components/MainView.tsx index 56878fb521..ea678aa061 100644 --- a/gui/src/renderer/components/MainView.tsx +++ b/gui/src/renderer/components/MainView.tsx @@ -1,10 +1,11 @@ import { useEffect, useState } from 'react'; + import { hasExpired } from '../../shared/account-expiry'; -import { useSelector } from '../redux/store'; import ConnectPage from '../containers/ConnectPage'; import ExpiredAccountErrorViewContainer from '../containers/ExpiredAccountErrorViewContainer'; import { useHistory } from '../lib/history'; import { RoutePath } from '../lib/routes'; +import { useSelector } from '../redux/store'; export default function MainView() { const history = useHistory(); diff --git a/gui/src/renderer/components/Map.tsx b/gui/src/renderer/components/Map.tsx index ddab985992..acfe0f3000 100644 --- a/gui/src/renderer/components/Map.tsx +++ b/gui/src/renderer/components/Map.tsx @@ -1,4 +1,5 @@ import * as React from 'react'; + import SvgMap from './SvgMap'; // Higher zoom level is more zoomed in diff --git a/gui/src/renderer/components/Marquee.tsx b/gui/src/renderer/components/Marquee.tsx index 7a981b4aef..778a47cefb 100644 --- a/gui/src/renderer/components/Marquee.tsx +++ b/gui/src/renderer/components/Marquee.tsx @@ -1,5 +1,6 @@ import React from 'react'; import styled from 'styled-components'; + import { Scheduler } from '../../shared/scheduler'; const Container = styled.div({ diff --git a/gui/src/renderer/components/Modal.tsx b/gui/src/renderer/components/Modal.tsx index c9cb5e6c8b..f6fa9f25b4 100644 --- a/gui/src/renderer/components/Modal.tsx +++ b/gui/src/renderer/components/Modal.tsx @@ -1,10 +1,11 @@ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react'; import ReactDOM from 'react-dom'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import log from '../../shared/logging'; -import CustomScrollbars from './CustomScrollbars'; import { tinyText } from './common-styles'; +import CustomScrollbars from './CustomScrollbars'; import ImageView from './ImageView'; import { BackAction } from './KeyboardNavigation'; diff --git a/gui/src/renderer/components/MultiButton.tsx b/gui/src/renderer/components/MultiButton.tsx index a9f1d09dee..e1fa3d379e 100644 --- a/gui/src/renderer/components/MultiButton.tsx +++ b/gui/src/renderer/components/MultiButton.tsx @@ -1,5 +1,6 @@ import React from 'react'; import styled from 'styled-components'; + import * as AppButton from './AppButton'; const SIDE_BUTTON_WIDTH = 50; diff --git a/gui/src/renderer/components/NavigationBar.tsx b/gui/src/renderer/components/NavigationBar.tsx index 064e58817d..2628f484eb 100644 --- a/gui/src/renderer/components/NavigationBar.tsx +++ b/gui/src/renderer/components/NavigationBar.tsx @@ -1,4 +1,5 @@ import React, { useCallback, useContext, useLayoutEffect, useRef } from 'react'; + import { colors } from '../../config.json'; import { messages } from '../../shared/gettext'; import useActions from '../lib/actionsHook'; @@ -12,8 +13,8 @@ import { StyledBackBarItemButton, StyledBackBarItemIcon, StyledNavigationBar, - StyledNavigationItems, StyledNavigationBarSeparator, + StyledNavigationItems, StyledTitleBarItemLabel, } from './NavigationBarStyles'; diff --git a/gui/src/renderer/components/NavigationBarStyles.tsx b/gui/src/renderer/components/NavigationBarStyles.tsx index 973709d90f..e3b879908e 100644 --- a/gui/src/renderer/components/NavigationBarStyles.tsx +++ b/gui/src/renderer/components/NavigationBarStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import { normalText } from './common-styles'; import ImageView from './ImageView'; diff --git a/gui/src/renderer/components/NotificationArea.tsx b/gui/src/renderer/components/NotificationArea.tsx index de8b547087..4d59109ea8 100644 --- a/gui/src/renderer/components/NotificationArea.tsx +++ b/gui/src/renderer/components/NotificationArea.tsx @@ -1,5 +1,6 @@ import { useCallback } from 'react'; import { useSelector } from 'react-redux'; + import log from '../../shared/logging'; import { BlockWhenDisconnectedNotificationProvider, diff --git a/gui/src/renderer/components/NotificationBanner.tsx b/gui/src/renderer/components/NotificationBanner.tsx index 5c6e094bda..e26b42ea26 100644 --- a/gui/src/renderer/components/NotificationBanner.tsx +++ b/gui/src/renderer/components/NotificationBanner.tsx @@ -1,5 +1,6 @@ import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { messages } from '../../shared/gettext'; import { InAppNotificationIndicatorType } from '../../shared/notifications/notification'; diff --git a/gui/src/renderer/components/OpenVPNSettings.tsx b/gui/src/renderer/components/OpenVPNSettings.tsx index d32a60ed36..fdbbd2305e 100644 --- a/gui/src/renderer/components/OpenVPNSettings.tsx +++ b/gui/src/renderer/components/OpenVPNSettings.tsx @@ -1,11 +1,15 @@ import * as React from 'react'; import { sprintf } from 'sprintf-js'; import styled from 'styled-components'; + import { BridgeState, RelayProtocol } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; +import { formatMarkdown } from '../markdown-formatter'; import * as AppButton from './AppButton'; import { AriaDescription, AriaInput, AriaInputGroup, AriaLabel } from './AriaGroup'; import * as Cell from './cell'; +import Selector, { ISelectorItem } from './cell/Selector'; +import { BackAction } from './KeyboardNavigation'; import { Layout, SettingsContainer } from './Layout'; import { ModalAlert, ModalAlertType } from './Modal'; import { @@ -15,10 +19,7 @@ import { NavigationScrollbars, TitleBarItem, } from './NavigationBar'; -import Selector, { ISelectorItem } from './cell/Selector'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; -import { formatMarkdown } from '../markdown-formatter'; -import { BackAction } from './KeyboardNavigation'; const MIN_MSSFIX_VALUE = 1000; const MAX_MSSFIX_VALUE = 1450; diff --git a/gui/src/renderer/components/Preferences.tsx b/gui/src/renderer/components/Preferences.tsx index 5cdd110023..9213c7c7e9 100644 --- a/gui/src/renderer/components/Preferences.tsx +++ b/gui/src/renderer/components/Preferences.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import { sprintf } from 'sprintf-js'; + import { colors } from '../../config.json'; import { IDnsOptions } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; diff --git a/gui/src/renderer/components/PreferencesStyles.tsx b/gui/src/renderer/components/PreferencesStyles.tsx index f4fa114469..704934769a 100644 --- a/gui/src/renderer/components/PreferencesStyles.tsx +++ b/gui/src/renderer/components/PreferencesStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import { Container } from './Layout'; diff --git a/gui/src/renderer/components/RedeemVoucher.tsx b/gui/src/renderer/components/RedeemVoucher.tsx index ef14ef77a9..98cba482aa 100644 --- a/gui/src/renderer/components/RedeemVoucher.tsx +++ b/gui/src/renderer/components/RedeemVoucher.tsx @@ -1,6 +1,6 @@ import React, { useCallback, useContext, useState } from 'react'; -import { useSelector } from '../redux/store'; import { sprintf } from 'sprintf-js'; + import { formatDate } from '../../shared/account-expiry'; import { VoucherResponse } from '../../shared/daemon-rpc-types'; import { formatRelativeDate } from '../../shared/date-helper'; @@ -8,6 +8,7 @@ import { messages } from '../../shared/gettext'; import { useAppContext } from '../context'; import useActions from '../lib/actionsHook'; import accountActions from '../redux/account/actions'; +import { useSelector } from '../redux/store'; import * as AppButton from './AppButton'; import ImageView from './ImageView'; import { ModalAlert } from './Modal'; diff --git a/gui/src/renderer/components/RedeemVoucherStyles.tsx b/gui/src/renderer/components/RedeemVoucherStyles.tsx index 616fe098fd..2ef0cc2634 100644 --- a/gui/src/renderer/components/RedeemVoucherStyles.tsx +++ b/gui/src/renderer/components/RedeemVoucherStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import { normalText, smallText, tinyText } from './common-styles'; import FormattableTextInput from './FormattableTextInput'; diff --git a/gui/src/renderer/components/RelayStatusIndicator.tsx b/gui/src/renderer/components/RelayStatusIndicator.tsx index 9148ca8797..7d90e1491d 100644 --- a/gui/src/renderer/components/RelayStatusIndicator.tsx +++ b/gui/src/renderer/components/RelayStatusIndicator.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import * as Cell from './cell'; diff --git a/gui/src/renderer/components/ScopeBar.tsx b/gui/src/renderer/components/ScopeBar.tsx index dbc5739b2c..be5420b0b5 100644 --- a/gui/src/renderer/components/ScopeBar.tsx +++ b/gui/src/renderer/components/ScopeBar.tsx @@ -1,5 +1,6 @@ import React, { useCallback, useEffect, useState } from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { smallText } from './common-styles'; diff --git a/gui/src/renderer/components/SecuredLabel.tsx b/gui/src/renderer/components/SecuredLabel.tsx index 4e53ae8ec6..06be4f524f 100644 --- a/gui/src/renderer/components/SecuredLabel.tsx +++ b/gui/src/renderer/components/SecuredLabel.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import { messages } from '../../shared/gettext'; diff --git a/gui/src/renderer/components/SelectLanguage.tsx b/gui/src/renderer/components/SelectLanguage.tsx index a65a02153b..f0e5ffb624 100644 --- a/gui/src/renderer/components/SelectLanguage.tsx +++ b/gui/src/renderer/components/SelectLanguage.tsx @@ -1,9 +1,12 @@ import * as React from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { messages } from '../../shared/gettext'; import { AriaInputGroup } from './AriaGroup'; +import Selector, { ISelectorItem } from './cell/Selector'; import { CustomScrollbarsRef } from './CustomScrollbars'; +import { BackAction } from './KeyboardNavigation'; import { Container, Layout } from './Layout'; import { NavigationBar, @@ -12,9 +15,7 @@ import { NavigationScrollbars, TitleBarItem, } from './NavigationBar'; -import Selector, { ISelectorItem } from './cell/Selector'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; -import { BackAction } from './KeyboardNavigation'; interface IProps { preferredLocale: string; diff --git a/gui/src/renderer/components/SelectLocation.tsx b/gui/src/renderer/components/SelectLocation.tsx index 48d50084dc..3d64906a78 100644 --- a/gui/src/renderer/components/SelectLocation.tsx +++ b/gui/src/renderer/components/SelectLocation.tsx @@ -1,19 +1,21 @@ import React from 'react'; import { sprintf } from 'sprintf-js'; + import { colors } from '../../config.json'; import { LiftedConstraint, RelayLocation, TunnelProtocol } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; import { IRelayLocationRedux } from '../redux/settings/reducers'; import BridgeLocations, { SpecialBridgeLocationType } from './BridgeLocations'; import { CustomScrollbarsRef } from './CustomScrollbars'; -import { EntryLocations, ExitLocations } from './Locations'; import ImageView from './ImageView'; +import { BackAction } from './KeyboardNavigation'; import { Layout } from './Layout'; import LocationList, { DisabledReason, LocationSelection, LocationSelectionType, } from './LocationList'; +import { EntryLocations, ExitLocations } from './Locations'; import { NavigationBar, NavigationContainer, @@ -23,21 +25,20 @@ import { } from './NavigationBar'; import { ScopeBarItem } from './ScopeBar'; import { + StyledClearProvidersButton, StyledContainer, StyledContent, - StyledFilterIconButton, + StyledFilterByProviderButton, StyledFilterContainer, + StyledFilterIconButton, StyledFilterMenu, StyledNavigationBarAttachment, - StyledScopeBar, - StyledFilterByProviderButton, - StyledProvidersCount, StyledProviderCountRow, - StyledClearProvidersButton, + StyledProvidersCount, + StyledScopeBar, StyledSettingsHeader, } from './SelectLocationStyles'; import { HeaderSubTitle, HeaderTitle } from './SettingsHeader'; -import { BackAction } from './KeyboardNavigation'; interface IProps { locale: string; diff --git a/gui/src/renderer/components/SelectLocationStyles.tsx b/gui/src/renderer/components/SelectLocationStyles.tsx index de09b8b872..4ace3b15cc 100644 --- a/gui/src/renderer/components/SelectLocationStyles.tsx +++ b/gui/src/renderer/components/SelectLocationStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import { tinyText } from './common-styles'; import { Container } from './Layout'; diff --git a/gui/src/renderer/components/Settings.tsx b/gui/src/renderer/components/Settings.tsx index 2d7abb19cf..2deb1ee0e7 100644 --- a/gui/src/renderer/components/Settings.tsx +++ b/gui/src/renderer/components/Settings.tsx @@ -1,10 +1,13 @@ import * as React from 'react'; + import { colors, links } from '../../config.json'; -import { hasExpired, formatRemainingTime } from '../../shared/account-expiry'; +import { formatRemainingTime, hasExpired } from '../../shared/account-expiry'; import { messages } from '../../shared/gettext'; import History from '../lib/history'; +import { LoginState } from '../redux/account/reducers'; import { AriaDescribed, AriaDescription, AriaDescriptionGroup } from './AriaGroup'; import * as Cell from './cell'; +import { BackAction } from './KeyboardNavigation'; import { Layout } from './Layout'; import { NavigationBar, NavigationContainer, NavigationItems, TitleBarItem } from './NavigationBar'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; @@ -19,9 +22,6 @@ import { StyledSettingsContent, } from './SettingsStyles'; -import { LoginState } from '../redux/account/reducers'; -import { BackAction } from './KeyboardNavigation'; - export interface IProps { preferredLocaleDisplayName: string; loginState: LoginState; diff --git a/gui/src/renderer/components/SettingsHeader.tsx b/gui/src/renderer/components/SettingsHeader.tsx index bf7dea7e3e..01e62e50d0 100644 --- a/gui/src/renderer/components/SettingsHeader.tsx +++ b/gui/src/renderer/components/SettingsHeader.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { hugeText, tinyText } from './common-styles'; diff --git a/gui/src/renderer/components/SettingsStyles.tsx b/gui/src/renderer/components/SettingsStyles.tsx index 4061d1cded..88a4c8258a 100644 --- a/gui/src/renderer/components/SettingsStyles.tsx +++ b/gui/src/renderer/components/SettingsStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import * as AppButton from './AppButton'; import * as Cell from './cell'; diff --git a/gui/src/renderer/components/SplitTunnelingSettings.tsx b/gui/src/renderer/components/SplitTunnelingSettings.tsx index 3cabb8d3c6..c77673953b 100644 --- a/gui/src/renderer/components/SplitTunnelingSettings.tsx +++ b/gui/src/renderer/components/SplitTunnelingSettings.tsx @@ -1,53 +1,54 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useSelector } from 'react-redux'; import { sprintf } from 'sprintf-js'; + import { colors } from '../../config.json'; -import { messages } from '../../shared/gettext'; import { IApplication, ILinuxSplitTunnelingApplication, IWindowsApplication, } from '../../shared/application-types'; +import { messages } from '../../shared/gettext'; import { useAppContext } from '../context'; import { useHistory } from '../lib/history'; import { useAsyncEffect } from '../lib/utilityHooks'; +import { formatMarkdown } from '../markdown-formatter'; import { IReduxState } from '../redux/store'; import Accordion from './Accordion'; import * as AppButton from './AppButton'; import * as Cell from './cell'; import { CustomScrollbarsRef } from './CustomScrollbars'; import ImageView from './ImageView'; +import { BackAction } from './KeyboardNavigation'; import { Layout } from './Layout'; import List from './List'; import { ModalAlert, ModalAlertType } from './Modal'; import { NavigationBar, NavigationContainer, NavigationItems, TitleBarItem } from './NavigationBar'; import SettingsHeader, { HeaderSubTitle, HeaderTitle } from './SettingsHeader'; import { - StyledPageCover, - StyledContainer, - StyledNavigationScrollbars, - StyledContent, + StyledActionIcon, + StyledBrowseButton, StyledCellButton, - StyledIcon, StyledCellLabel, - StyledIconPlaceholder, - StyledSpinnerRow, - StyledBrowseButton, - StyledSearchInput, + StyledCellWarningIcon, StyledClearButton, - StyledSearchIcon, StyledClearIcon, + StyledContainer, + StyledContent, + StyledHeaderTitle, + StyledHeaderTitleContainer, + StyledIcon, + StyledIconPlaceholder, + StyledListContainer, + StyledNavigationScrollbars, + StyledNoResult, StyledNoResultText, + StyledPageCover, StyledSearchContainer, - StyledNoResult, - StyledActionIcon, - StyledCellWarningIcon, - StyledListContainer, - StyledHeaderTitleContainer, - StyledHeaderTitle, + StyledSearchIcon, + StyledSearchInput, + StyledSpinnerRow, } from './SplitTunnelingSettingsStyles'; -import { formatMarkdown } from '../markdown-formatter'; -import { BackAction } from './KeyboardNavigation'; import Switch from './Switch'; export default function SplitTunneling() { diff --git a/gui/src/renderer/components/SplitTunnelingSettingsStyles.tsx b/gui/src/renderer/components/SplitTunnelingSettingsStyles.tsx index b33c814545..1c946d8c72 100644 --- a/gui/src/renderer/components/SplitTunnelingSettingsStyles.tsx +++ b/gui/src/renderer/components/SplitTunnelingSettingsStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import * as AppButton from './AppButton'; import * as Cell from './cell'; diff --git a/gui/src/renderer/components/Support.tsx b/gui/src/renderer/components/Support.tsx index 2246f1110b..9b445e25c9 100644 --- a/gui/src/renderer/components/Support.tsx +++ b/gui/src/renderer/components/Support.tsx @@ -1,9 +1,13 @@ import * as React from 'react'; + import { links } from '../../config.json'; +import { AccountToken } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; +import { ISupportReportForm } from '../redux/support/actions'; import * as AppButton from './AppButton'; import { AriaDescribed, AriaDescription, AriaDescriptionGroup } from './AriaGroup'; import ImageView from './ImageView'; +import { BackAction } from './KeyboardNavigation'; import { Layout } from './Layout'; import { ModalAlert, ModalAlertType } from './Modal'; import { NavigationBar, NavigationItems, TitleBarItem } from './NavigationBar'; @@ -19,17 +23,13 @@ import { StyledForm, StyledFormEmailRow, StyledFormMessageRow, + StyledMessageInput, StyledSendStatus, StyledSentMessage, StyledStatusIcon, StyledThanks, - StyledMessageInput, } from './SupportStyles'; -import { AccountToken } from '../../shared/daemon-rpc-types'; -import { ISupportReportForm } from '../redux/support/actions'; -import { BackAction } from './KeyboardNavigation'; - enum SendState { initial, confirm, diff --git a/gui/src/renderer/components/SupportStyles.tsx b/gui/src/renderer/components/SupportStyles.tsx index b3de7ebcb1..bc5166297c 100644 --- a/gui/src/renderer/components/SupportStyles.tsx +++ b/gui/src/renderer/components/SupportStyles.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../config.json'; import * as AppButton from './AppButton'; import { hugeText, smallText } from './common-styles'; diff --git a/gui/src/renderer/components/SvgMap.tsx b/gui/src/renderer/components/SvgMap.tsx index b72ea36bbd..8b2c2deaf4 100644 --- a/gui/src/renderer/components/SvgMap.tsx +++ b/gui/src/renderer/components/SvgMap.tsx @@ -4,9 +4,8 @@ import React, { useCallback, useEffect, useMemo, useRef } from 'react'; import { ComposableMap, Geographies, Geography, Marker } from 'react-simple-maps'; import geographyData from '../../../assets/geo/geometry.json'; -import statesProvincesLinesData from '../../../assets/geo/states-provinces-lines.json'; - import geometryTreeData from '../../../assets/geo/geometry.rbush.json'; +import statesProvincesLinesData from '../../../assets/geo/states-provinces-lines.json'; import statesProvincesLinesTreeData from '../../../assets/geo/states-provinces-lines.rbush.json'; interface IGeometryLeaf extends rbush.BBox { diff --git a/gui/src/renderer/components/Switch.tsx b/gui/src/renderer/components/Switch.tsx index 0a2c28147b..cb9e86b219 100644 --- a/gui/src/renderer/components/Switch.tsx +++ b/gui/src/renderer/components/Switch.tsx @@ -1,5 +1,6 @@ import React from 'react'; import styled from 'styled-components'; + import { colors } from '../../config.json'; interface IProps { diff --git a/gui/src/renderer/components/TooManyDevices.tsx b/gui/src/renderer/components/TooManyDevices.tsx index 84c33d28ed..d1401ed33b 100644 --- a/gui/src/renderer/components/TooManyDevices.tsx +++ b/gui/src/renderer/components/TooManyDevices.tsx @@ -1,6 +1,7 @@ import { useCallback, useEffect } from 'react'; import { sprintf } from 'sprintf-js'; import styled from 'styled-components'; + import { colors } from '../../config.json'; import { IDevice } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; diff --git a/gui/src/renderer/components/TransitionContainer.tsx b/gui/src/renderer/components/TransitionContainer.tsx index 4dc354d924..e360e6838e 100644 --- a/gui/src/renderer/components/TransitionContainer.tsx +++ b/gui/src/renderer/components/TransitionContainer.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import styled from 'styled-components'; + import { ITransitionSpecification } from '../lib/history'; interface ITransitioningViewProps { diff --git a/gui/src/renderer/components/TunnelControl.tsx b/gui/src/renderer/components/TunnelControl.tsx index af6680139d..db91e9558f 100644 --- a/gui/src/renderer/components/TunnelControl.tsx +++ b/gui/src/renderer/components/TunnelControl.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { sprintf } from 'sprintf-js'; import styled from 'styled-components'; + import { TunnelState } from '../../shared/daemon-rpc-types'; import { messages, relayLocations } from '../../shared/gettext'; import ConnectionPanelContainer from '../containers/ConnectionPanelContainer'; diff --git a/gui/src/renderer/components/WireguardSettings.tsx b/gui/src/renderer/components/WireguardSettings.tsx index 8bec012986..1235735012 100644 --- a/gui/src/renderer/components/WireguardSettings.tsx +++ b/gui/src/renderer/components/WireguardSettings.tsx @@ -1,11 +1,14 @@ import * as React from 'react'; import { sprintf } from 'sprintf-js'; import styled from 'styled-components'; + import { IpVersion } from '../../shared/daemon-rpc-types'; import { messages } from '../../shared/gettext'; import * as AppButton from './AppButton'; import { AriaDescription, AriaInput, AriaInputGroup, AriaLabel } from './AriaGroup'; import * as Cell from './cell'; +import Selector, { ISelectorItem } from './cell/Selector'; +import { BackAction } from './KeyboardNavigation'; import { Layout, SettingsContainer } from './Layout'; import { ModalAlert, ModalAlertType } from './Modal'; import { @@ -15,10 +18,8 @@ import { NavigationScrollbars, TitleBarItem, } from './NavigationBar'; -import Selector, { ISelectorItem } from './cell/Selector'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; import Switch from './Switch'; -import { BackAction } from './KeyboardNavigation'; const MIN_WIREGUARD_MTU_VALUE = 1280; const MAX_WIREGUARD_MTU_VALUE = 1420; diff --git a/gui/src/renderer/components/cell/CellButton.tsx b/gui/src/renderer/components/cell/CellButton.tsx index 1295b7783a..5a24cfe901 100644 --- a/gui/src/renderer/components/cell/CellButton.tsx +++ b/gui/src/renderer/components/cell/CellButton.tsx @@ -1,5 +1,6 @@ import React, { useContext } from 'react'; import styled from 'styled-components'; + import { colors } from '../../../config.json'; import { CellDisabledContext } from './Container'; import { CellSectionContext } from './Section'; diff --git a/gui/src/renderer/components/cell/Container.tsx b/gui/src/renderer/components/cell/Container.tsx index 843180af76..6a2ef108c6 100644 --- a/gui/src/renderer/components/cell/Container.tsx +++ b/gui/src/renderer/components/cell/Container.tsx @@ -1,5 +1,6 @@ import React from 'react'; import styled from 'styled-components'; + import { colors } from '../../../config.json'; const StyledContainer = styled.div({ diff --git a/gui/src/renderer/components/cell/Footer.tsx b/gui/src/renderer/components/cell/Footer.tsx index 87a899cae8..2cdf8aa8fa 100644 --- a/gui/src/renderer/components/cell/Footer.tsx +++ b/gui/src/renderer/components/cell/Footer.tsx @@ -1,4 +1,5 @@ import styled from 'styled-components'; + import { colors } from '../../../config.json'; import { tinyText } from '../common-styles'; diff --git a/gui/src/renderer/components/cell/Input.tsx b/gui/src/renderer/components/cell/Input.tsx index 007ac9cdb6..81ba648338 100644 --- a/gui/src/renderer/components/cell/Input.tsx +++ b/gui/src/renderer/components/cell/Input.tsx @@ -1,12 +1,13 @@ import React, { useCallback, useContext, useEffect, useRef, useState } from 'react'; import styled from 'styled-components'; + import { colors } from '../../../config.json'; +import { useBoolean } from '../../lib/utilityHooks'; import { normalText } from '../common-styles'; -import { CellDisabledContext, Container } from './Container'; -import StandaloneSwitch from '../Switch'; import ImageView from '../ImageView'; -import { useBoolean } from '../../lib/utilityHooks'; import { BackAction } from '../KeyboardNavigation'; +import StandaloneSwitch from '../Switch'; +import { CellDisabledContext, Container } from './Container'; export const Switch = React.forwardRef(function SwitchT( props: StandaloneSwitch['props'], diff --git a/gui/src/renderer/components/cell/Label.tsx b/gui/src/renderer/components/cell/Label.tsx index 5df99922fb..1288a94dfb 100644 --- a/gui/src/renderer/components/cell/Label.tsx +++ b/gui/src/renderer/components/cell/Label.tsx @@ -1,5 +1,6 @@ import React, { useContext } from 'react'; import styled from 'styled-components'; + import { colors } from '../../../config.json'; import { buttonText, tinyText } from '../common-styles'; import ImageView, { IImageViewProps } from '../ImageView'; diff --git a/gui/src/renderer/components/cell/Section.tsx b/gui/src/renderer/components/cell/Section.tsx index b0978cf98e..41f57ee52c 100644 --- a/gui/src/renderer/components/cell/Section.tsx +++ b/gui/src/renderer/components/cell/Section.tsx @@ -1,5 +1,6 @@ import React from 'react'; import styled from 'styled-components'; + import { colors } from '../../../config.json'; import { buttonText } from '../common-styles'; diff --git a/gui/src/renderer/components/cell/Selector.tsx b/gui/src/renderer/components/cell/Selector.tsx index 53ac9a15f4..5ea1687a1e 100644 --- a/gui/src/renderer/components/cell/Selector.tsx +++ b/gui/src/renderer/components/cell/Selector.tsx @@ -1,9 +1,10 @@ import * as React from 'react'; import styled from 'styled-components'; + import { colors } from '../../../config.json'; import { AriaInput, AriaLabel } from '../AriaGroup'; -import * as Cell from '.'; import { normalText } from '../common-styles'; +import * as Cell from '.'; export interface ISelectorItem<T> { label: string; diff --git a/gui/src/renderer/components/common-styles.ts b/gui/src/renderer/components/common-styles.ts index a5da3fcda0..641048d72d 100644 --- a/gui/src/renderer/components/common-styles.ts +++ b/gui/src/renderer/components/common-styles.ts @@ -1,4 +1,5 @@ import React from 'react'; + import { colors } from '../../config.json'; export const openSans: React.CSSProperties = { diff --git a/gui/src/renderer/containers/AccountPage.tsx b/gui/src/renderer/containers/AccountPage.tsx index 2309c614fb..a813b12002 100644 --- a/gui/src/renderer/containers/AccountPage.tsx +++ b/gui/src/renderer/containers/AccountPage.tsx @@ -1,12 +1,12 @@ import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; + import { links } from '../../config.json'; import Account from '../components/Account'; - import withAppContext, { IAppContext } from '../context'; import { IHistoryProps, withHistory } from '../lib/history'; -import { IReduxState, ReduxDispatch } from '../redux/store'; import accountActions from '../redux/account/actions'; +import { IReduxState, ReduxDispatch } from '../redux/store'; const mapStateToProps = (state: IReduxState) => ({ deviceName: state.account.deviceName, diff --git a/gui/src/renderer/containers/AdvancedSettingsPage.tsx b/gui/src/renderer/containers/AdvancedSettingsPage.tsx index 0bc00ee204..203067f1af 100644 --- a/gui/src/renderer/containers/AdvancedSettingsPage.tsx +++ b/gui/src/renderer/containers/AdvancedSettingsPage.tsx @@ -1,9 +1,9 @@ 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'; diff --git a/gui/src/renderer/containers/ConnectPage.tsx b/gui/src/renderer/containers/ConnectPage.tsx index 9d507ede18..aeba16e5d0 100644 --- a/gui/src/renderer/containers/ConnectPage.tsx +++ b/gui/src/renderer/containers/ConnectPage.tsx @@ -1,5 +1,6 @@ import { connect } from 'react-redux'; import { sprintf } from 'sprintf-js'; + import { messages, relayLocations } from '../../shared/gettext'; import log from '../../shared/logging'; import Connect from '../components/Connect'; diff --git a/gui/src/renderer/containers/ConnectionPanelContainer.tsx b/gui/src/renderer/containers/ConnectionPanelContainer.tsx index bf8ac77660..f55fa8cacd 100644 --- a/gui/src/renderer/containers/ConnectionPanelContainer.tsx +++ b/gui/src/renderer/containers/ConnectionPanelContainer.tsx @@ -1,5 +1,6 @@ import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; + import { ITunnelEndpoint, parseSocketAddress } from '../../shared/daemon-rpc-types'; import ConnectionPanel, { IBridgeData, diff --git a/gui/src/renderer/containers/ExpiredAccountErrorViewContainer.tsx b/gui/src/renderer/containers/ExpiredAccountErrorViewContainer.tsx index dc5b12a40e..14cde1d3db 100644 --- a/gui/src/renderer/containers/ExpiredAccountErrorViewContainer.tsx +++ b/gui/src/renderer/containers/ExpiredAccountErrorViewContainer.tsx @@ -1,11 +1,11 @@ import { connect } from 'react-redux'; + import log from '../../shared/logging'; import ExpiredAccountErrorView from '../components/ExpiredAccountErrorView'; -import { IHistoryProps, withHistory } from '../lib/history'; - import withAppContext, { IAppContext } from '../context'; -import { IReduxState, ReduxDispatch } from '../redux/store'; +import { IHistoryProps, withHistory } from '../lib/history'; import { RoutePath } from '../lib/routes'; +import { IReduxState, ReduxDispatch } from '../redux/store'; const mapStateToProps = (state: IReduxState) => ({ accountToken: state.account.accountToken, diff --git a/gui/src/renderer/containers/LoginPage.tsx b/gui/src/renderer/containers/LoginPage.tsx index a6c494c601..1abfa863a2 100644 --- a/gui/src/renderer/containers/LoginPage.tsx +++ b/gui/src/renderer/containers/LoginPage.tsx @@ -1,5 +1,6 @@ import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; + import Login from '../components/Login'; import withAppContext, { IAppContext } from '../context'; import accountActions from '../redux/account/actions'; diff --git a/gui/src/renderer/containers/OpenVPNSettingsPage.tsx b/gui/src/renderer/containers/OpenVPNSettingsPage.tsx index e8033a2d70..ab42f4a137 100644 --- a/gui/src/renderer/containers/OpenVPNSettingsPage.tsx +++ b/gui/src/renderer/containers/OpenVPNSettingsPage.tsx @@ -1,9 +1,9 @@ import { connect } from 'react-redux'; + import { BridgeState, RelayProtocol } from '../../shared/daemon-rpc-types'; import log from '../../shared/logging'; import RelaySettingsBuilder from '../../shared/relay-settings-builder'; import OpenVPNSettings, { BridgeModeAvailability } from '../components/OpenVPNSettings'; - import withAppContext, { IAppContext } from '../context'; import { IHistoryProps, withHistory } from '../lib/history'; import { RelaySettingsRedux } from '../redux/settings/reducers'; diff --git a/gui/src/renderer/containers/PlatformWindowContainer.tsx b/gui/src/renderer/containers/PlatformWindowContainer.tsx index e929836f7d..9652a54a6c 100644 --- a/gui/src/renderer/containers/PlatformWindowContainer.tsx +++ b/gui/src/renderer/containers/PlatformWindowContainer.tsx @@ -1,6 +1,6 @@ import { connect } from 'react-redux'; -import PlatformWindow from '../components/PlatformWindow'; +import PlatformWindow from '../components/PlatformWindow'; import { IReduxState } from '../redux/store'; const mapStateToProps = (state: IReduxState) => ({ diff --git a/gui/src/renderer/containers/PreferencesPage.tsx b/gui/src/renderer/containers/PreferencesPage.tsx index d4176d1ca2..be2dce9373 100644 --- a/gui/src/renderer/containers/PreferencesPage.tsx +++ b/gui/src/renderer/containers/PreferencesPage.tsx @@ -1,4 +1,5 @@ import { connect } from 'react-redux'; + import { IDnsOptions } from '../../shared/daemon-rpc-types'; import log from '../../shared/logging'; import Preferences from '../components/Preferences'; diff --git a/gui/src/renderer/containers/SelectLanguagePage.tsx b/gui/src/renderer/containers/SelectLanguagePage.tsx index 1bd21c84dd..5a0f2f9d29 100644 --- a/gui/src/renderer/containers/SelectLanguagePage.tsx +++ b/gui/src/renderer/containers/SelectLanguagePage.tsx @@ -1,4 +1,5 @@ import { connect } from 'react-redux'; + import SelectLanguage from '../components/SelectLanguage'; import withAppContext, { IAppContext } from '../context'; import { IHistoryProps, withHistory } from '../lib/history'; diff --git a/gui/src/renderer/containers/SelectLocationPage.tsx b/gui/src/renderer/containers/SelectLocationPage.tsx index e6c2199820..d14323457e 100644 --- a/gui/src/renderer/containers/SelectLocationPage.tsx +++ b/gui/src/renderer/containers/SelectLocationPage.tsx @@ -1,4 +1,5 @@ import { connect } from 'react-redux'; + import BridgeSettingsBuilder from '../../shared/bridge-settings-builder'; import { LiftedConstraint, RelayLocation } from '../../shared/daemon-rpc-types'; import log from '../../shared/logging'; diff --git a/gui/src/renderer/containers/SettingsPage.tsx b/gui/src/renderer/containers/SettingsPage.tsx index 2bea17892b..58689e31d9 100644 --- a/gui/src/renderer/containers/SettingsPage.tsx +++ b/gui/src/renderer/containers/SettingsPage.tsx @@ -1,4 +1,5 @@ import { connect } from 'react-redux'; + import Settings from '../components/Settings'; import withAppContext, { IAppContext } from '../context'; import { IHistoryProps, withHistory } from '../lib/history'; diff --git a/gui/src/renderer/containers/SupportPage.tsx b/gui/src/renderer/containers/SupportPage.tsx index 8457d6f6ff..37e6b86031 100644 --- a/gui/src/renderer/containers/SupportPage.tsx +++ b/gui/src/renderer/containers/SupportPage.tsx @@ -1,5 +1,6 @@ import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; + import Support from '../components/Support'; import withAppContext, { IAppContext } from '../context'; import { IHistoryProps, withHistory } from '../lib/history'; diff --git a/gui/src/renderer/containers/WireguardSettingsPage.tsx b/gui/src/renderer/containers/WireguardSettingsPage.tsx index d9ac31756d..6217c723d2 100644 --- a/gui/src/renderer/containers/WireguardSettingsPage.tsx +++ b/gui/src/renderer/containers/WireguardSettingsPage.tsx @@ -1,8 +1,8 @@ import { connect } from 'react-redux'; + import { IpVersion } from '../../shared/daemon-rpc-types'; import log from '../../shared/logging'; import WireguardSettings from '../components/WireguardSettings'; - import withAppContext, { IAppContext } from '../context'; import { createWireguardRelayUpdater } from '../lib/constraint-updater'; import { IHistoryProps, withHistory } from '../lib/history'; diff --git a/gui/src/renderer/context.tsx b/gui/src/renderer/context.tsx index 341ddda893..0867618136 100644 --- a/gui/src/renderer/context.tsx +++ b/gui/src/renderer/context.tsx @@ -1,4 +1,5 @@ import React, { useContext } from 'react'; + import App from './app'; export interface IAppContext { diff --git a/gui/src/renderer/index.ts b/gui/src/renderer/index.ts index 906be20bfa..815095408f 100644 --- a/gui/src/renderer/index.ts +++ b/gui/src/renderer/index.ts @@ -1,4 +1,5 @@ import ReactDOM from 'react-dom'; + import App from './app'; const app = new App(); diff --git a/gui/src/renderer/lib/constraint-updater.ts b/gui/src/renderer/lib/constraint-updater.ts index ce9f49f376..3ebbcccbc0 100644 --- a/gui/src/renderer/lib/constraint-updater.ts +++ b/gui/src/renderer/lib/constraint-updater.ts @@ -1,5 +1,5 @@ -import { RelaySettingsRedux } from '../redux/settings/reducers'; import RelaySettingsBuilder from '../../shared/relay-settings-builder'; +import { RelaySettingsRedux } from '../redux/settings/reducers'; export function createWireguardRelayUpdater( relaySettings: RelaySettingsRedux, diff --git a/gui/src/renderer/lib/history.tsx b/gui/src/renderer/lib/history.tsx index f5bc213112..2eb08d001d 100644 --- a/gui/src/renderer/lib/history.tsx +++ b/gui/src/renderer/lib/history.tsx @@ -1,6 +1,7 @@ -import { Location, Action, LocationDescriptorObject, History as OriginalHistory } from 'history'; +import { Action, History as OriginalHistory, Location, LocationDescriptorObject } from 'history'; import React from 'react'; import { RouteComponentProps, useHistory as useReactRouterHistory, withRouter } from 'react-router'; + import { GeneratedRoutePath, RoutePath } from './routes'; export interface ITransitionSpecification { diff --git a/gui/src/renderer/lib/ipc-event-channel.ts b/gui/src/renderer/lib/ipc-event-channel.ts index bcb816e918..03b5471cb7 100644 --- a/gui/src/renderer/lib/ipc-event-channel.ts +++ b/gui/src/renderer/lib/ipc-event-channel.ts @@ -1,4 +1,5 @@ import { ipcRenderer } from 'electron'; + import { createIpcRenderer } from '../../shared/ipc-helpers'; import { ipcSchema } from '../../shared/ipc-schema'; diff --git a/gui/src/renderer/lib/load-translations.ts b/gui/src/renderer/lib/load-translations.ts index 43a483de25..d418f54b4f 100644 --- a/gui/src/renderer/lib/load-translations.ts +++ b/gui/src/renderer/lib/load-translations.ts @@ -1,5 +1,6 @@ import { GetTextTranslations } from 'gettext-parser'; import Gettext from 'node-gettext'; + import log from '../../shared/logging'; const SOURCE_LANGUAGE = 'en'; diff --git a/gui/src/renderer/preload.ts b/gui/src/renderer/preload.ts index 4df178fcc2..8f37905ece 100644 --- a/gui/src/renderer/preload.ts +++ b/gui/src/renderer/preload.ts @@ -1,4 +1,5 @@ import { contextBridge } from 'electron'; + import { IpcRendererEventChannel } from './lib/ipc-event-channel'; contextBridge.exposeInMainWorld('ipc', IpcRendererEventChannel); diff --git a/gui/src/renderer/redux/account/actions.ts b/gui/src/renderer/redux/account/actions.ts index aa0a949533..ba9d524cc0 100644 --- a/gui/src/renderer/redux/account/actions.ts +++ b/gui/src/renderer/redux/account/actions.ts @@ -1,4 +1,4 @@ -import { AccountToken, IDeviceConfig, IDevice } from '../../../shared/daemon-rpc-types'; +import { AccountToken, IDevice, IDeviceConfig } from '../../../shared/daemon-rpc-types'; interface IStartLoginAction { type: 'START_LOGIN'; diff --git a/gui/src/renderer/redux/settings/actions.ts b/gui/src/renderer/redux/settings/actions.ts index 1e12e7ec14..9e12df542d 100644 --- a/gui/src/renderer/redux/settings/actions.ts +++ b/gui/src/renderer/redux/settings/actions.ts @@ -1,6 +1,6 @@ +import { IWindowsApplication } from '../../../shared/application-types'; import { BridgeState, IDnsOptions } from '../../../shared/daemon-rpc-types'; import { IGuiSettingsState } from '../../../shared/gui-settings-state'; -import { IWindowsApplication } from '../../../shared/application-types'; import { BridgeSettingsRedux, IRelayLocationRedux, RelaySettingsRedux } from './reducers'; export interface IUpdateGuiSettingsAction { diff --git a/gui/src/renderer/redux/settings/reducers.ts b/gui/src/renderer/redux/settings/reducers.ts index a5dd938126..3d665ba86b 100644 --- a/gui/src/renderer/redux/settings/reducers.ts +++ b/gui/src/renderer/redux/settings/reducers.ts @@ -1,13 +1,13 @@ import { IWindowsApplication } from '../../../shared/application-types'; import { BridgeState, + IDnsOptions, + IpVersion, LiftedConstraint, ProxySettings, RelayLocation, RelayProtocol, TunnelProtocol, - IDnsOptions, - IpVersion, } from '../../../shared/daemon-rpc-types'; import { IGuiSettingsState } from '../../../shared/gui-settings-state'; import { ReduxAction } from '../store'; diff --git a/gui/src/shared/account-expiry.ts b/gui/src/shared/account-expiry.ts index 81c45fec07..c6fa0c6d07 100644 --- a/gui/src/shared/account-expiry.ts +++ b/gui/src/shared/account-expiry.ts @@ -1,4 +1,4 @@ -import { DateComponent, DateType, formatRelativeDate, dateByAddingComponent } from './date-helper'; +import { dateByAddingComponent, DateComponent, DateType, formatRelativeDate } from './date-helper'; import { capitalize } from './string-helpers'; export function hasExpired(expiry: DateType): boolean { diff --git a/gui/src/shared/date-helper.ts b/gui/src/shared/date-helper.ts index 36353c9b44..7f232552b3 100644 --- a/gui/src/shared/date-helper.ts +++ b/gui/src/shared/date-helper.ts @@ -1,4 +1,5 @@ import { sprintf } from 'sprintf-js'; + import { messages } from './gettext'; export type DateType = Date | string | number; diff --git a/gui/src/shared/gettext.ts b/gui/src/shared/gettext.ts index 9acdd80a55..90391107e0 100644 --- a/gui/src/shared/gettext.ts +++ b/gui/src/shared/gettext.ts @@ -1,4 +1,5 @@ import Gettext from 'node-gettext'; + import { LocalizationContexts } from './localization-contexts'; import log from './logging'; diff --git a/gui/src/shared/ipc-helpers.ts b/gui/src/shared/ipc-helpers.ts index 31469ce88a..cde27bb32b 100644 --- a/gui/src/shared/ipc-helpers.ts +++ b/gui/src/shared/ipc-helpers.ts @@ -1,6 +1,7 @@ import { IpcMain as EIpcMain, IpcRenderer as EIpcRenderer, WebContents } from 'electron'; -import { capitalize } from './string-helpers'; + import log from './logging'; +import { capitalize } from './string-helpers'; type Handler<T, R> = (callback: (arg: T) => R) => void; type Sender<T, R> = (arg: T) => R; diff --git a/gui/src/shared/ipc-schema.ts b/gui/src/shared/ipc-schema.ts index 8f5d0d8d83..1700ddc606 100644 --- a/gui/src/shared/ipc-schema.ts +++ b/gui/src/shared/ipc-schema.ts @@ -1,5 +1,6 @@ import { GetTextTranslations } from 'gettext-parser'; -import { IWindowsApplication, ILinuxSplitTunnelingApplication } from './application-types'; + +import { ILinuxSplitTunnelingApplication, IWindowsApplication } from './application-types'; import { AccountToken, BridgeSettings, @@ -8,6 +9,7 @@ import { IAppVersionInfo, IDevice, IDeviceConfig, + IDeviceEvent, IDeviceRemoval, IDnsOptions, ILocation, @@ -16,7 +18,6 @@ import { RelaySettingsUpdate, TunnelState, VoucherResponse, - IDeviceEvent, } from './daemon-rpc-types'; import { IGuiSettingsState } from './gui-settings-state'; import { LogLevel } from './logging-types'; diff --git a/gui/src/shared/notifications/close-to-account-expiry.ts b/gui/src/shared/notifications/close-to-account-expiry.ts index e0f13b33b3..82daf05562 100644 --- a/gui/src/shared/notifications/close-to-account-expiry.ts +++ b/gui/src/shared/notifications/close-to-account-expiry.ts @@ -1,4 +1,5 @@ import { sprintf } from 'sprintf-js'; + import { links } from '../../config.json'; import { messages } from '../../shared/gettext'; import { closeToExpiry, formatRemainingTime } from '../account-expiry'; diff --git a/gui/src/shared/notifications/connected.ts b/gui/src/shared/notifications/connected.ts index 0ce1dceeb5..5fc667b78c 100644 --- a/gui/src/shared/notifications/connected.ts +++ b/gui/src/shared/notifications/connected.ts @@ -1,4 +1,5 @@ import { sprintf } from 'sprintf-js'; + import { messages } from '../../shared/gettext'; import { TunnelState } from '../daemon-rpc-types'; import { SystemNotificationProvider } from './notification'; diff --git a/gui/src/shared/notifications/connecting.ts b/gui/src/shared/notifications/connecting.ts index 3b574dad18..b35d9ed3b6 100644 --- a/gui/src/shared/notifications/connecting.ts +++ b/gui/src/shared/notifications/connecting.ts @@ -1,4 +1,5 @@ import { sprintf } from 'sprintf-js'; + import { messages } from '../../shared/gettext'; import { TunnelState } from '../daemon-rpc-types'; import { diff --git a/gui/src/shared/notifications/error.ts b/gui/src/shared/notifications/error.ts index d2a43ade8d..fa654b8291 100644 --- a/gui/src/shared/notifications/error.ts +++ b/gui/src/shared/notifications/error.ts @@ -1,6 +1,6 @@ import { hasExpired } from '../account-expiry'; import { AuthFailureKind, parseAuthFailure } from '../auth-failure'; -import { IErrorState, TunnelState, TunnelParameterError } from '../daemon-rpc-types'; +import { IErrorState, TunnelParameterError, TunnelState } from '../daemon-rpc-types'; import { messages } from '../gettext'; import { InAppNotification, diff --git a/gui/src/shared/notifications/unsupported-version.ts b/gui/src/shared/notifications/unsupported-version.ts index 2560119c4c..3db1db9fc7 100644 --- a/gui/src/shared/notifications/unsupported-version.ts +++ b/gui/src/shared/notifications/unsupported-version.ts @@ -2,8 +2,8 @@ import { links } from '../../config.json'; import { messages } from '../../shared/gettext'; import { InAppNotification, - SystemNotification, InAppNotificationProvider, + SystemNotification, SystemNotificationProvider, } from './notification'; diff --git a/gui/src/shared/notifications/update-available.ts b/gui/src/shared/notifications/update-available.ts index 54dcc02ca8..61a2452138 100644 --- a/gui/src/shared/notifications/update-available.ts +++ b/gui/src/shared/notifications/update-available.ts @@ -1,4 +1,5 @@ import { sprintf } from 'sprintf-js'; + import { links } from '../../config.json'; import { messages } from '../../shared/gettext'; import { |
