diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2018-09-21 08:55:33 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2018-09-24 08:39:30 -0300 |
| commit | 66ba3a0dff2e660cda34f98fb8547e7b7327321c (patch) | |
| tree | 07b47832d530c5e3b4fb7528f7e337e0b09ddbf4 | |
| parent | 9ada7902470c2a6d2217766b06e4bcb538e948c3 (diff) | |
| download | mullvadvpn-66ba3a0dff2e660cda34f98fb8547e7b7327321c.tar.xz mullvadvpn-66ba3a0dff2e660cda34f98fb8547e7b7327321c.zip | |
Remove `WindowStateObserver`
7 files changed, 1 insertions, 130 deletions
diff --git a/gui/packages/desktop/src/renderer/components/Account.js b/gui/packages/desktop/src/renderer/components/Account.js index 4209496317..83ab3721cb 100644 --- a/gui/packages/desktop/src/renderer/components/Account.js +++ b/gui/packages/desktop/src/renderer/components/Account.js @@ -9,7 +9,6 @@ import NavigationBar, { BackBarItem } from './NavigationBar'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; import styles from './AccountStyles'; import Img from './Img'; -import WindowStateObserver from '../lib/window-state-observer'; import type { AccountToken } from '../lib/daemon-rpc'; @@ -17,44 +16,26 @@ type Props = { accountToken: AccountToken, accountExpiry: string, expiryLocale: string, - updateAccountExpiry: () => Promise<void>, onLogout: () => void, onClose: () => void, onBuyMore: () => void, }; type State = { - isRefreshingExpiry: boolean, showAccountTokenCopiedMessage: boolean, }; export default class Account extends Component<Props, State> { state = { - isRefreshingExpiry: false, showAccountTokenCopiedMessage: false, }; - _isMounted = false; _copyTimer: ?TimeoutID; - _windowStateObserver = new WindowStateObserver(); - - componentDidMount() { - this._isMounted = true; - this._refreshAccountExpiry(); - - this._windowStateObserver.onShow = () => { - this._refreshAccountExpiry(); - }; - } componentWillUnmount() { - this._isMounted = false; - if (this._copyTimer) { clearTimeout(this._copyTimer); } - - this._windowStateObserver.dispose(); } onAccountTokenClick() { @@ -139,18 +120,4 @@ export default class Account extends Component<Props, State> { </Layout> ); } - - async _refreshAccountExpiry() { - this.setState({ isRefreshingExpiry: true }); - - try { - await this.props.updateAccountExpiry(); - } catch (e) { - // TODO: Report the error to user - } - - if (this._isMounted) { - this.setState({ isRefreshingExpiry: false }); - } - } } diff --git a/gui/packages/desktop/src/renderer/components/Connect.js b/gui/packages/desktop/src/renderer/components/Connect.js index e24c2aac46..8e29cedfb6 100644 --- a/gui/packages/desktop/src/renderer/components/Connect.js +++ b/gui/packages/desktop/src/renderer/components/Connect.js @@ -12,7 +12,6 @@ import Img from './Img'; import Map from './Map'; import styles from './ConnectStyles'; import { NoCreditError, NoInternetError } from '../errors'; -import WindowStateObserver from '../lib/window-state-observer'; import type { BlockReason, TunnelStateTransition } from '../lib/daemon-rpc'; import type { HeaderBarStyle } from './HeaderBar'; @@ -27,7 +26,6 @@ type Props = { onConnect: () => void, onDisconnect: () => void, onExternalLink: (type: string) => void, - updateAccountExpiry: () => Promise<void>, }; type State = { @@ -71,7 +69,6 @@ export default class Connect extends Component<Props, State> { }; _copyTimer: ?TimeoutID; - _windowStateObserver = new WindowStateObserver(); constructor(props: Props) { super(); @@ -83,20 +80,10 @@ export default class Connect extends Component<Props, State> { }; } - componentDidMount() { - this.props.updateAccountExpiry(); - - this._windowStateObserver.onShow = () => { - this.props.updateAccountExpiry(); - }; - } - componentWillUnmount() { if (this._copyTimer) { clearTimeout(this._copyTimer); } - - this._windowStateObserver.dispose(); } componentDidUpdate(oldProps: Props, _oldState: State) { diff --git a/gui/packages/desktop/src/renderer/components/Settings.js b/gui/packages/desktop/src/renderer/components/Settings.js index cb8071a9ce..8a7df34f43 100644 --- a/gui/packages/desktop/src/renderer/components/Settings.js +++ b/gui/packages/desktop/src/renderer/components/Settings.js @@ -11,7 +11,6 @@ import NavigationBar, { CloseBarItem } from './NavigationBar'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; import CustomScrollbars from './CustomScrollbars'; import styles from './SettingsStyles'; -import WindowStateObserver from '../lib/window-state-observer'; import { colors } from '../../config'; import type { LoginState } from '../redux/account/reducers'; @@ -29,24 +28,9 @@ type Props = { onViewPreferences: () => void, onViewAdvancedSettings: () => void, onExternalLink: (type: string) => void, - updateAccountExpiry: () => Promise<void>, }; export default class Settings extends Component<Props> { - _windowStateObserver = new WindowStateObserver(); - - componentDidMount() { - this.props.updateAccountExpiry(); - - this._windowStateObserver.onShow = () => { - this.props.updateAccountExpiry(); - }; - } - - componentWillUnmount() { - this._windowStateObserver.dispose(); - } - render() { return ( <Layout> diff --git a/gui/packages/desktop/src/renderer/containers/AccountPage.js b/gui/packages/desktop/src/renderer/containers/AccountPage.js index 8047764348..fc9d5394be 100644 --- a/gui/packages/desktop/src/renderer/containers/AccountPage.js +++ b/gui/packages/desktop/src/renderer/containers/AccountPage.js @@ -18,7 +18,6 @@ const mapStateToProps = (state: ReduxState) => ({ const mapDispatchToProps = (dispatch: ReduxDispatch, props: SharedRouteProps) => { const history = bindActionCreators({ goBack }, dispatch); return { - updateAccountExpiry: () => props.app.updateAccountExpiry(), onLogout: () => { props.app.logout(); }, diff --git a/gui/packages/desktop/src/renderer/containers/ConnectPage.js b/gui/packages/desktop/src/renderer/containers/ConnectPage.js index 5edb4447cc..e98398a32c 100644 --- a/gui/packages/desktop/src/renderer/containers/ConnectPage.js +++ b/gui/packages/desktop/src/renderer/containers/ConnectPage.js @@ -88,7 +88,6 @@ const mapDispatchToProps = (dispatch: ReduxDispatch, props: SharedRouteProps) => } }, onExternalLink: (type) => shell.openExternal(links[type]), - updateAccountExpiry: () => props.app.updateAccountExpiry(), }; }; diff --git a/gui/packages/desktop/src/renderer/containers/SettingsPage.js b/gui/packages/desktop/src/renderer/containers/SettingsPage.js index 98b0fcd061..8913e79fcd 100644 --- a/gui/packages/desktop/src/renderer/containers/SettingsPage.js +++ b/gui/packages/desktop/src/renderer/containers/SettingsPage.js @@ -17,7 +17,7 @@ const mapStateToProps = (state: ReduxState) => ({ consistentVersion: state.version.consistent, upToDateVersion: state.version.upToDate, }); -const mapDispatchToProps = (dispatch: ReduxDispatch, props: SharedRouteProps) => { +const mapDispatchToProps = (dispatch: ReduxDispatch, _props: SharedRouteProps) => { const history = bindActionCreators({ push, goBack }, dispatch); return { onQuit: () => remote.app.quit(), @@ -27,7 +27,6 @@ const mapDispatchToProps = (dispatch: ReduxDispatch, props: SharedRouteProps) => onViewPreferences: () => history.push('/settings/preferences'), onViewAdvancedSettings: () => history.push('/settings/advanced'), onExternalLink: (type) => shell.openExternal(links[type]), - updateAccountExpiry: () => props.app.updateAccountExpiry(), }; }; diff --git a/gui/packages/desktop/src/renderer/lib/window-state-observer.js b/gui/packages/desktop/src/renderer/lib/window-state-observer.js deleted file mode 100644 index 67252d8f6a..0000000000 --- a/gui/packages/desktop/src/renderer/lib/window-state-observer.js +++ /dev/null @@ -1,64 +0,0 @@ -// @flow - -import { remote } from 'electron'; - -type EventListener = () => void; - -// Tiny helper for detecting the window state. -export default class WindowStateObserver { - _onShow: ?EventListener; - _onHide: ?EventListener; - - get onShow() { - return this._onShow; - } - - set onShow(listener: ?EventListener) { - const currentWindow = remote.getCurrentWindow(); - const oldListener = this._onShow; - if (oldListener) { - currentWindow.removeListener('show', oldListener); - } - - if (listener) { - currentWindow.addListener('show', listener); - } - - this._onShow = listener; - } - - get onHide() { - return this._onHide; - } - - set onHide(listener: ?EventListener) { - const currentWindow = remote.getCurrentWindow(); - const oldListener = this._onHide; - if (oldListener) { - currentWindow.removeListener('hide', oldListener); - } - - if (listener) { - currentWindow.addListener('hide', listener); - } - - this._onHide = listener; - } - - constructor() { - // Because BrowserWindow persists between page reloads, - // it's important to release event handlers when that happens. - window.addEventListener('beforeunload', this._onBeforeUnload); - } - - _onBeforeUnload = () => { - this.dispose(); - }; - - dispose() { - this.onShow = null; - this.onHide = null; - - window.removeEventListener('beforeunload', this._onBeforeUnload); - } -} |
