From 6a327f1ad1e80bf3c8238638687cfcecbe20aa11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20M=C3=B3rawski?= Date: Tue, 19 Sep 2023 16:37:41 +0200 Subject: [PATCH 1/3] added delete account error handling and delete modal visiblity fixx --- .../Contacts/ContactMethodDetailsPage.js | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js index a0091e5c184..62aac934afe 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js @@ -230,6 +230,7 @@ class ContactMethodDetailsPage extends Component { const isDefaultContactMethod = this.props.session.email === loginData.partnerUserID; const hasMagicCodeBeenSent = lodashGet(this.props.loginList, [contactMethod, 'validateCodeSent'], false); const isFailedAddContactMethod = Boolean(lodashGet(loginData, 'errorFields.addedLogin')); + const isFailedRemovedContactMethod = !!lodashGet(loginData, 'errorFields.deletedLogin'); return ( this.validateCodeFormRef.current && this.validateCodeFormRef.current.focus()}> @@ -245,7 +246,7 @@ class ContactMethodDetailsPage extends Component { prompt={this.props.translate('contacts.removeAreYouSure')} confirmText={this.props.translate('common.yesContinue')} cancelText={this.props.translate('common.cancel')} - isVisible={this.state.isDeleteModalOpen} + isVisible={this.state.isDeleteModalOpen && !isDefaultContactMethod} danger /> {isFailedAddContactMethod && ( @@ -284,14 +285,25 @@ class ContactMethodDetailsPage extends Component { ) : null} {isDefaultContactMethod ? ( - User.clearContactMethodErrors(contactMethod, 'defaultLogin')} - > - {this.props.translate('contacts.yourDefaultContactMethod')} - + <> + User.clearContactMethodErrors(contactMethod, 'defaultLogin')} + > + {this.props.translate('contacts.yourDefaultContactMethod')} + + {isFailedRemovedContactMethod && ( + User.clearContactMethodErrors(contactMethod, 'deletedLogin')} + > + <> + + )} + ) : ( Date: Wed, 20 Sep 2023 17:56:20 +0200 Subject: [PATCH 2/3] bool coercion by Boolean casting Co-authored-by: Michael (Mykhailo) Kravchenko --- src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js index 62aac934afe..d3c212bae8e 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js @@ -230,7 +230,7 @@ class ContactMethodDetailsPage extends Component { const isDefaultContactMethod = this.props.session.email === loginData.partnerUserID; const hasMagicCodeBeenSent = lodashGet(this.props.loginList, [contactMethod, 'validateCodeSent'], false); const isFailedAddContactMethod = Boolean(lodashGet(loginData, 'errorFields.addedLogin')); - const isFailedRemovedContactMethod = !!lodashGet(loginData, 'errorFields.deletedLogin'); + const isFailedRemovedContactMethod = Boolean(lodashGet(loginData, 'errorFields.deletedLogin')); return ( this.validateCodeFormRef.current && this.validateCodeFormRef.current.focus()}> From d0cb1551b409f2c10cf9ea321aa442fa2756c58f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20M=C3=B3rawski?= Date: Wed, 20 Sep 2023 18:50:01 +0200 Subject: [PATCH 3/3] cleaner way of presenting default contact delete error --- .../Contacts/ContactMethodDetailsPage.js | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js index d3c212bae8e..2d9fb75cc98 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.js @@ -285,25 +285,14 @@ class ContactMethodDetailsPage extends Component { ) : null} {isDefaultContactMethod ? ( - <> - User.clearContactMethodErrors(contactMethod, 'defaultLogin')} - > - {this.props.translate('contacts.yourDefaultContactMethod')} - - {isFailedRemovedContactMethod && ( - User.clearContactMethodErrors(contactMethod, 'deletedLogin')} - > - <> - - )} - + User.clearContactMethodErrors(contactMethod, isFailedRemovedContactMethod ? 'deletedLogin' : 'defaultLogin')} + > + {this.props.translate('contacts.yourDefaultContactMethod')} + ) : (