diff --git a/src/pages/workspace/WorkspaceSettingsPage.js b/src/pages/workspace/WorkspaceSettingsPage.js index a0bb45fcbe6b..b9ef37c13a82 100644 --- a/src/pages/workspace/WorkspaceSettingsPage.js +++ b/src/pages/workspace/WorkspaceSettingsPage.js @@ -25,8 +25,13 @@ import FixedFooter from '../../components/FixedFooter'; import WorkspacePageWithSections from './WorkspacePageWithSections'; import FullScreenLoadingIndicator from '../../components/FullscreenLoadingIndicator'; import withFullPolicy, {fullPolicyPropTypes, fullPolicyDefaultProps} from './withFullPolicy'; +import {withNetwork} from '../../components/OnyxProvider'; +import networkPropTypes from '../../components/networkPropTypes'; const propTypes = { + /** Information about the network from Onyx */ + network: networkPropTypes.isRequired, + /** List of betas */ betas: PropTypes.arrayOf(PropTypes.string), @@ -34,6 +39,7 @@ const propTypes = { ...withLocalizePropTypes, }; + const defaultProps = { betas: [], @@ -58,7 +64,15 @@ class WorkspaceSettingsPage extends React.Component { } componentDidMount() { - PersonalDetails.getCurrencyList(); + this.fetchData(); + } + + componentDidUpdate(prevProps) { + if (!prevProps.network.isOffline || this.props.network.isOffline) { + return; + } + + this.fetchData(); } /** @@ -72,6 +86,10 @@ class WorkspaceSettingsPage extends React.Component { })); } + fetchData() { + PersonalDetails.getCurrencyList(); + } + removeAvatar() { this.setState({previewAvatarURL: ''}); Policy.update(this.props.policy.id, {avatarURL: ''}, true); @@ -196,4 +214,5 @@ export default compose( currencyList: {key: ONYXKEYS.CURRENCY_LIST}, }), withLocalize, + withNetwork(), )(WorkspaceSettingsPage);