From f8941c196786b458b91815be14e5982255fd0bfd Mon Sep 17 00:00:00 2001 From: Hans Date: Fri, 14 Jul 2023 12:58:25 +0700 Subject: [PATCH 1/3] fix notfound when login from contact detail page --- .../settings/Profile/Contacts/ContactMethodDetailsPage.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js index f45f9ee154f6..32a1dc72c645 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js @@ -68,6 +68,9 @@ const propTypes = { }), }), + /** Indicated whether the report data is loading */ + isLoadingReportData: PropTypes.bool, + ...withLocalizePropTypes, }; @@ -195,7 +198,7 @@ class ContactMethodDetailsPage extends Component { const formattedContactMethod = Str.isSMSLogin(contactMethod) ? this.props.formatPhoneNumber(contactMethod).replace(/ /g, '\u00A0') : contactMethod; const loginData = this.props.loginList[contactMethod]; - if (!contactMethod || !loginData) { + if (!this.props.isLoadingReportData && (!contactMethod || !loginData)) { return ; } @@ -302,5 +305,8 @@ export default compose( securityGroups: { key: `${ONYXKEYS.COLLECTION.SECURITY_GROUP}`, }, + isLoadingReportData: { + key: `${ONYXKEYS.IS_LOADING_REPORT_DATA}` + } }), )(ContactMethodDetailsPage); From 4538c97e82c95a9779a4cdd28a3dfbe0b144b078 Mon Sep 17 00:00:00 2001 From: Hans Date: Mon, 17 Jul 2023 17:47:20 +0700 Subject: [PATCH 2/3] prevent showing loading everytime --- .../settings/Profile/Contacts/ContactMethodDetailsPage.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js index 32a1dc72c645..db6bda0aee92 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js @@ -25,6 +25,7 @@ import themeColors from '../../../../styles/themes/default'; import NotFoundPage from '../../../ErrorPage/NotFoundPage'; import ValidateCodeForm from './ValidateCodeForm'; import ROUTES from '../../../../ROUTES'; +import FullscreenLoadingIndicator from "../../../../components/FullscreenLoadingIndicator"; const propTypes = { /* Onyx Props */ @@ -86,6 +87,7 @@ const defaultProps = { contactMethod: '', }, }, + isLoadingReportData: true, }; class ContactMethodDetailsPage extends Component { @@ -197,8 +199,12 @@ class ContactMethodDetailsPage extends Component { // Replacing spaces with "hard spaces" to prevent breaking the number const formattedContactMethod = Str.isSMSLogin(contactMethod) ? this.props.formatPhoneNumber(contactMethod).replace(/ /g, '\u00A0') : contactMethod; + if (this.props.isLoadingReportData && _.isEmpty(this.props.loginList)) { + return + } + const loginData = this.props.loginList[contactMethod]; - if (!this.props.isLoadingReportData && (!contactMethod || !loginData)) { + if (!contactMethod || !loginData) { return ; } From 2e922f6154a5f49feeb314de5640b54d423e22ca Mon Sep 17 00:00:00 2001 From: Hans Date: Mon, 17 Jul 2023 17:59:24 +0700 Subject: [PATCH 3/3] fix linting --- .../settings/Profile/Contacts/ContactMethodDetailsPage.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js index db6bda0aee92..579e2b962cee 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js @@ -25,7 +25,7 @@ import themeColors from '../../../../styles/themes/default'; import NotFoundPage from '../../../ErrorPage/NotFoundPage'; import ValidateCodeForm from './ValidateCodeForm'; import ROUTES from '../../../../ROUTES'; -import FullscreenLoadingIndicator from "../../../../components/FullscreenLoadingIndicator"; +import FullscreenLoadingIndicator from '../../../../components/FullscreenLoadingIndicator'; const propTypes = { /* Onyx Props */ @@ -200,7 +200,7 @@ class ContactMethodDetailsPage extends Component { const formattedContactMethod = Str.isSMSLogin(contactMethod) ? this.props.formatPhoneNumber(contactMethod).replace(/ /g, '\u00A0') : contactMethod; if (this.props.isLoadingReportData && _.isEmpty(this.props.loginList)) { - return + return ; } const loginData = this.props.loginList[contactMethod]; @@ -312,7 +312,7 @@ export default compose( key: `${ONYXKEYS.COLLECTION.SECURITY_GROUP}`, }, isLoadingReportData: { - key: `${ONYXKEYS.IS_LOADING_REPORT_DATA}` - } + key: `${ONYXKEYS.IS_LOADING_REPORT_DATA}`, + }, }), )(ContactMethodDetailsPage);