From 5d8b6728e59d10bbaa56729f2077510025442f46 Mon Sep 17 00:00:00 2001 From: Brandon Stites Date: Fri, 29 Apr 2022 11:33:43 -0600 Subject: [PATCH 1/5] Add offline fetch logic --- src/pages/iou/IOUCurrencySelection.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/pages/iou/IOUCurrencySelection.js b/src/pages/iou/IOUCurrencySelection.js index 09ad555d5c04..0e057bcc7707 100644 --- a/src/pages/iou/IOUCurrencySelection.js +++ b/src/pages/iou/IOUCurrencySelection.js @@ -20,6 +20,8 @@ import KeyboardAvoidingView from '../../components/KeyboardAvoidingView'; import Button from '../../components/Button'; import FixedFooter from '../../components/FixedFooter'; import * as IOU from '../../libs/actions/IOU'; +import {withNetwork} from '../../components/OnyxProvider'; +import networkPropTypes from '../../components/networkPropTypes'; /** * IOU Currency selection for selecting currency @@ -51,7 +53,11 @@ const propTypes = { // ISO4217 Code for the currency ISO4217: PropTypes.string, })), + + /** Information about the network from Onyx */ + network: networkPropTypes.isRequired, ...withLocalizePropTypes, + }; const defaultProps = { @@ -84,6 +90,18 @@ class IOUCurrencySelection extends Component { } componentDidMount() { + this.fetchData(); + } + + componentDidUpdate(prevProps) { + if (prevProps.network.isOffline === this.props.network.isOffline) { + return; + } + + this.fetchData(); + } + + fetchData() { PersonalDetails.getCurrencyList(); } @@ -243,5 +261,6 @@ export default compose( currencyList: {key: ONYXKEYS.CURRENCY_LIST}, myPersonalDetails: {key: ONYXKEYS.MY_PERSONAL_DETAILS}, iou: {key: ONYXKEYS.IOU}, + withNetwork(), }), )(IOUCurrencySelection); From fc006307a8de48087b75d65de7a2755dc66a33c2 Mon Sep 17 00:00:00 2001 From: Brandon Stites Date: Fri, 29 Apr 2022 11:34:27 -0600 Subject: [PATCH 2/5] Fix offline -> online logic --- src/pages/iou/IOUCurrencySelection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/iou/IOUCurrencySelection.js b/src/pages/iou/IOUCurrencySelection.js index 0e057bcc7707..39d4d4bb0e8d 100644 --- a/src/pages/iou/IOUCurrencySelection.js +++ b/src/pages/iou/IOUCurrencySelection.js @@ -94,7 +94,7 @@ class IOUCurrencySelection extends Component { } componentDidUpdate(prevProps) { - if (prevProps.network.isOffline === this.props.network.isOffline) { + if (prevProps.network.isOffline && !this.props.network.isOffline) { return; } From 68263fe122877593a5fd522f4199555231df57c8 Mon Sep 17 00:00:00 2001 From: Brandon Stites Date: Fri, 29 Apr 2022 12:16:28 -0600 Subject: [PATCH 3/5] put withNetwork in the right place --- src/pages/iou/IOUCurrencySelection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/iou/IOUCurrencySelection.js b/src/pages/iou/IOUCurrencySelection.js index 39d4d4bb0e8d..b9b134f28a92 100644 --- a/src/pages/iou/IOUCurrencySelection.js +++ b/src/pages/iou/IOUCurrencySelection.js @@ -261,6 +261,6 @@ export default compose( currencyList: {key: ONYXKEYS.CURRENCY_LIST}, myPersonalDetails: {key: ONYXKEYS.MY_PERSONAL_DETAILS}, iou: {key: ONYXKEYS.IOU}, - withNetwork(), }), + withNetwork(), )(IOUCurrencySelection); From c4496cef10fc36c3096d1f4d0bc4d7c0df2fc116 Mon Sep 17 00:00:00 2001 From: Brandon Stites Date: Fri, 29 Apr 2022 12:31:19 -0600 Subject: [PATCH 4/5] Style --- src/pages/iou/IOUCurrencySelection.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/iou/IOUCurrencySelection.js b/src/pages/iou/IOUCurrencySelection.js index b9b134f28a92..cca27645f73d 100644 --- a/src/pages/iou/IOUCurrencySelection.js +++ b/src/pages/iou/IOUCurrencySelection.js @@ -101,10 +101,6 @@ class IOUCurrencySelection extends Component { this.fetchData(); } - fetchData() { - PersonalDetails.getCurrencyList(); - } - /** * Returns the sections needed for the OptionsSelector * @@ -138,6 +134,10 @@ class IOUCurrencySelection extends Component { return currencyOptions; } + fetchData() { + PersonalDetails.getCurrencyList(); + } + /** * Function which toggles a currency in the list * From 742d877ba2281a28f821637b2f5818fdb0f85833 Mon Sep 17 00:00:00 2001 From: Brandon Stites Date: Fri, 29 Apr 2022 15:52:22 -0600 Subject: [PATCH 5/5] Return early --- src/pages/iou/IOUCurrencySelection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/iou/IOUCurrencySelection.js b/src/pages/iou/IOUCurrencySelection.js index cca27645f73d..53b45dce1a6b 100644 --- a/src/pages/iou/IOUCurrencySelection.js +++ b/src/pages/iou/IOUCurrencySelection.js @@ -94,7 +94,7 @@ class IOUCurrencySelection extends Component { } componentDidUpdate(prevProps) { - if (prevProps.network.isOffline && !this.props.network.isOffline) { + if (!prevProps.network.isOffline || this.props.network.isOffline) { return; }