From 8c2b9eb15c5e00b5fd7ebc711c47191602a00a72 Mon Sep 17 00:00:00 2001 From: Alex Dvoretsky Date: Fri, 31 Mar 2023 18:13:12 +0500 Subject: [PATCH 1/7] Fixes multiply issues with && in JSX --- src/components/AttachmentModal.js | 4 ++-- src/components/ImageView/index.native.js | 2 +- src/components/MenuItem.js | 4 ++-- src/components/OptionRow.js | 2 +- src/components/Picker/Picker.js | 6 +++--- src/components/RadioButtonWithLabel.js | 4 ++-- src/components/ReportActionItem/IOUPreview.js | 3 +++ src/components/ScreenWrapper/propTypes.js | 3 +++ src/components/Section.js | 6 +++--- src/components/TextInput/BaseTextInput.js | 4 ++-- src/components/TextInput/baseTextInputPropTypes.js | 4 ++++ src/components/ValidateCode/ExpiredValidateCodeModal.js | 4 ++-- src/pages/DetailsPage.js | 2 +- src/pages/EnablePayments/TermsPage/LongTermsForm.js | 4 ++-- src/pages/ReimbursementAccount/ACHContractStep.js | 2 +- src/pages/ReimbursementAccount/BankAccountStep.js | 4 ++-- src/pages/ReimbursementAccount/EnableStep.js | 2 +- src/pages/ReportSettingsPage.js | 4 ++-- src/pages/home/ReportScreen.js | 2 +- src/pages/home/report/ReportActionCompose.js | 5 +++++ src/pages/home/report/ReportActionItemFragment.js | 2 +- src/pages/home/report/reportActionFragmentPropTypes.js | 3 +++ src/pages/settings/InitialSettingsPage.js | 2 +- src/pages/settings/Profile/Contacts/LoginField.js | 2 +- src/pages/settings/userPropTypes.js | 3 +++ src/pages/signin/PasswordForm.js | 2 +- src/pages/signin/SignInPage.js | 2 +- src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js | 2 +- src/pages/workspace/card/WorkspaceCardVBANoECardView.js | 2 +- src/stories/Composer.stories.js | 2 +- 30 files changed, 57 insertions(+), 36 deletions(-) diff --git a/src/components/AttachmentModal.js b/src/components/AttachmentModal.js index e0c7f6e6bc95..86eb8c56345e 100755 --- a/src/components/AttachmentModal.js +++ b/src/components/AttachmentModal.js @@ -276,7 +276,7 @@ class AttachmentModal extends PureComponent { source={this.props.source} onToggleKeyboard={this.updateConfirmButtonVisibility} /> - ) : this.state.source && this.state.shouldLoadAttachment && ( + ) : Boolean(this.state.source) && this.state.shouldLoadAttachment && ( {/* If we have an onConfirm method show a confirmation button */} - {this.props.onConfirm && ( + {Boolean(this.props.onConfirm) && ( {({safeAreaPaddingBottomStyle}) => ( diff --git a/src/components/ImageView/index.native.js b/src/components/ImageView/index.native.js index 70ce7b907e98..11732715b941 100644 --- a/src/components/ImageView/index.native.js +++ b/src/components/ImageView/index.native.js @@ -175,7 +175,7 @@ class ImageView extends PureComponent { }); }} > - {this.state.containerHeight && ( + {Boolean(this.state.containerHeight) && ( this.zoom = el} onClick={() => this.props.onPress()} diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index 653dd180c209..69438485c4f0 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -90,7 +90,7 @@ const MenuItem = (props) => { {({hovered, pressed}) => ( <> - {props.icon && ( + {Boolean(props.icon) && ( { - {props.badgeText && ( + {Boolean(props.badgeText) && ( } - {this.props.option.customIcon && ( + {Boolean(this.props.option.customIcon) && ( - {this.props.label && ( + {Boolean(this.props.label) && ( {this.props.label} @@ -187,7 +187,7 @@ class Picker extends PureComponent { {this.props.value} - {this.props.hintText + {Boolean(this.props.hintText) && ( {this.props.hintText} @@ -255,7 +255,7 @@ class Picker extends PureComponent { /> - {this.props.hintText + {Boolean(this.props.hintText) && ( {this.props.hintText} diff --git a/src/components/RadioButtonWithLabel.js b/src/components/RadioButtonWithLabel.js index 7665cb3f9159..6567eff86de9 100644 --- a/src/components/RadioButtonWithLabel.js +++ b/src/components/RadioButtonWithLabel.js @@ -67,12 +67,12 @@ const RadioButtonWithLabel = (props) => { styles.alignItemsCenter, ]} > - {props.label && ( + {Boolean(props.label) && ( {props.label} )} - {LabelComponent && ()} + {Boolean(LabelComponent) && ()} diff --git a/src/components/ReportActionItem/IOUPreview.js b/src/components/ReportActionItem/IOUPreview.js index 2afb7e7fc1df..4fab78859c73 100644 --- a/src/components/ReportActionItem/IOUPreview.js +++ b/src/components/ReportActionItem/IOUPreview.js @@ -101,6 +101,9 @@ const propTypes = { /** Pending action, if any */ pendingAction: PropTypes.oneOf(_.values(CONST.RED_BRICK_ROAD_PENDING_ACTION)), + /** */ + shouldShowPendingConversionMessage: PropTypes.bool, + ...withLocalizePropTypes, }; diff --git a/src/components/ScreenWrapper/propTypes.js b/src/components/ScreenWrapper/propTypes.js index 4345f60fad48..4c90b685e707 100644 --- a/src/components/ScreenWrapper/propTypes.js +++ b/src/components/ScreenWrapper/propTypes.js @@ -1,4 +1,5 @@ import PropTypes from 'prop-types'; +import windowDimensionsPropTypes from '../withWindowDimensions'; const propTypes = { /** Array of additional styles to add */ @@ -31,6 +32,8 @@ const propTypes = { /** Whether to dismiss keyboard before leaving a screen */ shouldDismissKeyboardBeforeClose: PropTypes.bool, + + ...windowDimensionsPropTypes, }; const defaultProps = { diff --git a/src/components/Section.js b/src/components/Section.js index cbed28c3de12..e14d7d4dd398 100644 --- a/src/components/Section.js +++ b/src/components/Section.js @@ -46,8 +46,8 @@ const Section = (props) => { {props.title} - {props.icon && } - {IconComponent && } + {Boolean(props.icon) && } + {Boolean(IconComponent) && } @@ -56,7 +56,7 @@ const Section = (props) => { - {props.menuItems && } + {Boolean(props.menuItems) && } diff --git a/src/components/TextInput/BaseTextInput.js b/src/components/TextInput/BaseTextInput.js index d85aea8a71a0..bed1129abbe9 100644 --- a/src/components/TextInput/BaseTextInput.js +++ b/src/components/TextInput/BaseTextInput.js @@ -316,7 +316,7 @@ class BaseTextInput extends Component { dataSet={{submitOnEnter: this.props.multiline && this.props.submitOnEnter}} /> - {this.props.secureTextEntry && ( + {Boolean(this.props.secureTextEntry) && ( )} - {!this.props.secureTextEntry && this.props.icon && ( + {!this.props.secureTextEntry && Boolean(this.props.icon) && ( )} - {this.shouldShowRequestCodeLink() && codeRequestedErrors + {this.shouldShowRequestCodeLink() && Boolean(codeRequestedErrors) && (
@@ -100,7 +100,7 @@ class ExpiredValidateCodeModal extends PureComponent { {codeRequestedErrors}
)} - {this.shouldShowRequestCodeLink() && codeRequestedMessage + {this.shouldShowRequestCodeLink() && Boolean(codeRequestedMessage) && (
diff --git a/src/pages/DetailsPage.js b/src/pages/DetailsPage.js index 3b5b83796d43..fd8b5f961d41 100755 --- a/src/pages/DetailsPage.js +++ b/src/pages/DetailsPage.js @@ -149,7 +149,7 @@ class DetailsPage extends React.PureComponent { )} - {details.displayName && ( + {Boolean(details.displayName) && ( {isSMSLogin ? this.props.toLocalPhone(details.displayName) : details.displayName} diff --git a/src/pages/EnablePayments/TermsPage/LongTermsForm.js b/src/pages/EnablePayments/TermsPage/LongTermsForm.js index 00f630e12ab9..5829f2e8739c 100644 --- a/src/pages/EnablePayments/TermsPage/LongTermsForm.js +++ b/src/pages/EnablePayments/TermsPage/LongTermsForm.js @@ -65,7 +65,7 @@ const getLongTermsSections = () => _.map(termsData, (section, index) => ( {section.title} { - section.subTitle + Boolean(section.subTitle) && ( {section.subTitle} @@ -78,7 +78,7 @@ const getLongTermsSections = () => _.map(termsData, (section, index) => ( {section.rightText} { - section.subRightText + Boolean(section.subRightText) && ( {section.subRightText} diff --git a/src/pages/ReimbursementAccount/ACHContractStep.js b/src/pages/ReimbursementAccount/ACHContractStep.js index 26e2dd0ee410..414b9f44414a 100644 --- a/src/pages/ReimbursementAccount/ACHContractStep.js +++ b/src/pages/ReimbursementAccount/ACHContractStep.js @@ -218,7 +218,7 @@ class ACHContractStep extends React.Component { defaultValue={this.props.getDefaultStateForField('hasOtherBeneficialOwners', false)} shouldSaveDraft /> - {inputValues.hasOtherBeneficialOwners && ( + {Boolean(inputValues.hasOtherBeneficialOwners) && ( {_.map(this.state.beneficialOwners, (ownerKey, index) => ( diff --git a/src/pages/ReimbursementAccount/BankAccountStep.js b/src/pages/ReimbursementAccount/BankAccountStep.js index a6ad01b8a4f9..fd944c6ea907 100644 --- a/src/pages/ReimbursementAccount/BankAccountStep.js +++ b/src/pages/ReimbursementAccount/BankAccountStep.js @@ -112,7 +112,7 @@ const BankAccountStep = (props) => { {props.translate('bankAccount.toGetStarted')} - {plaidDesktopMessage && ( + {Boolean(plaidDesktopMessage) && ( {props.translate(plaidDesktopMessage)} @@ -130,7 +130,7 @@ const BankAccountStep = (props) => { success large /> - {props.error && ( + {Boolean(props.error) && ( {props.error} diff --git a/src/pages/ReimbursementAccount/EnableStep.js b/src/pages/ReimbursementAccount/EnableStep.js index fa5f89bdd3ab..2b54f7eab1fa 100644 --- a/src/pages/ReimbursementAccount/EnableStep.js +++ b/src/pages/ReimbursementAccount/EnableStep.js @@ -107,7 +107,7 @@ const EnableStep = (props) => { wrapperStyle={[styles.cardMenuItem, styles.mv3]} /> - {props.user.isCheckingDomain && ( + {Boolean(props.user.isCheckingDomain) && ( {props.translate('workspace.card.checkingDomain')} diff --git a/src/pages/ReportSettingsPage.js b/src/pages/ReportSettingsPage.js index f3af110f6860..dfb5c19f92ff 100644 --- a/src/pages/ReportSettingsPage.js +++ b/src/pages/ReportSettingsPage.js @@ -216,7 +216,7 @@ class ReportSettingsPage extends Component { )} - {linkedWorkspace && ( + {Boolean(linkedWorkspace) && ( {this.props.translate('workspace.common.workspace')} @@ -226,7 +226,7 @@ class ReportSettingsPage extends Component { )} - {this.props.report.visibility && ( + {Boolean(this.props.report.visibility) && ( {this.props.translate('newRoomPage.visibility')} diff --git a/src/pages/home/ReportScreen.js b/src/pages/home/ReportScreen.js index ec0cebb3833b..e7c44c8d26e5 100644 --- a/src/pages/home/ReportScreen.js +++ b/src/pages/home/ReportScreen.js @@ -264,7 +264,7 @@ class ReportScreen extends React.Component { policies={this.props.policies} /> - {this.props.accountManagerReportID && ReportUtils.isConciergeChatReport(this.props.report) && this.state.isBannerVisible && ( + {Boolean(this.props.accountManagerReportID) && ReportUtils.isConciergeChatReport(this.props.report) && this.state.isBannerVisible && ( { style={[EmojiUtils.containsOnlyEmojis(text) ? styles.onlyEmojisText : undefined, styles.ltr, ...props.style]} > {StyleUtils.convertToLTR(Str.htmlDecode(text))} - {props.fragment.isEdited && ( + {Boolean(props.fragment.isEdited) && ( - {this.props.currentUserPersonalDetails.displayName && ( + {Boolean(this.props.currentUserPersonalDetails.displayName) && ( )} - {note && ( + {Boolean(note) && ( {note} diff --git a/src/pages/settings/userPropTypes.js b/src/pages/settings/userPropTypes.js index 02936d63f34b..3f2ff7667293 100644 --- a/src/pages/settings/userPropTypes.js +++ b/src/pages/settings/userPropTypes.js @@ -7,6 +7,9 @@ export default PropTypes.shape({ /** Whether or not the user is on a public domain email account or not */ isFromPublicDomain: PropTypes.bool, + /** */ + isCheckingDomain: PropTypes.bool, + /** Whether the form is being submitted */ loading: PropTypes.bool, }); diff --git a/src/pages/signin/PasswordForm.js b/src/pages/signin/PasswordForm.js index 8d0c0855d1d7..4821ee33dc19 100755 --- a/src/pages/signin/PasswordForm.js +++ b/src/pages/signin/PasswordForm.js @@ -215,7 +215,7 @@ class PasswordForm extends React.Component { )} - {this.props.account && !_.isEmpty(this.props.account.errors) && ( + {Boolean(this.props.account) && !_.isEmpty(this.props.account.errors) && ( )} diff --git a/src/pages/signin/SignInPage.js b/src/pages/signin/SignInPage.js index f8c1ccaffa0b..d19c1dc3add3 100644 --- a/src/pages/signin/SignInPage.js +++ b/src/pages/signin/SignInPage.js @@ -116,7 +116,7 @@ class SignInPage extends Component { ) : ( )} - {showResendValidationForm && } + {Boolean(showResendValidationForm) && } ); diff --git a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js index 5e3d00403e86..55c12c28ff0f 100755 --- a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js +++ b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js @@ -245,7 +245,7 @@ class BaseValidateCodeForm extends React.Component { )} - {this.props.account && !_.isEmpty(this.props.account.errors) && ( + {Boolean(this.props.account) && !_.isEmpty(this.props.account.errors) && ( )} diff --git a/src/pages/workspace/card/WorkspaceCardVBANoECardView.js b/src/pages/workspace/card/WorkspaceCardVBANoECardView.js index 63148155888f..dbf9a213c832 100644 --- a/src/pages/workspace/card/WorkspaceCardVBANoECardView.js +++ b/src/pages/workspace/card/WorkspaceCardVBANoECardView.js @@ -57,7 +57,7 @@ const WorkspaceCardVBANoECardView = props => ( success /> - {props.user.isCheckingDomain && ( + {Boolean(props.user.isCheckingDomain) && ( {props.translate('workspace.card.checkingDomain')} diff --git a/src/stories/Composer.stories.js b/src/stories/Composer.stories.js index f94c834a8d5e..d3617664cb56 100644 --- a/src/stories/Composer.stories.js +++ b/src/stories/Composer.stories.js @@ -64,7 +64,7 @@ const Default = (args) => { > Rendered Comment {Boolean(renderedHTML) && } - {pastedFile && ( + {Boolean(pastedFile) && ( Date: Fri, 31 Mar 2023 22:05:41 +0500 Subject: [PATCH 2/7] Fixes lint issues --- src/components/ReportActionItem/IOUPreview.js | 1 + src/components/ScreenWrapper/propTypes.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/ReportActionItem/IOUPreview.js b/src/components/ReportActionItem/IOUPreview.js index 4fab78859c73..482107b71542 100644 --- a/src/components/ReportActionItem/IOUPreview.js +++ b/src/components/ReportActionItem/IOUPreview.js @@ -123,6 +123,7 @@ const defaultProps = { session: { email: null, }, + shouldShowPendingConversionMessage: false, }; const IOUPreview = (props) => { diff --git a/src/components/ScreenWrapper/propTypes.js b/src/components/ScreenWrapper/propTypes.js index 4c90b685e707..b4eef740f674 100644 --- a/src/components/ScreenWrapper/propTypes.js +++ b/src/components/ScreenWrapper/propTypes.js @@ -1,5 +1,5 @@ import PropTypes from 'prop-types'; -import windowDimensionsPropTypes from '../withWindowDimensions'; +import * as windowDimensionsPropTypes from '../withWindowDimensions'; const propTypes = { /** Array of additional styles to add */ From f09b1b89c32a5eb9391fd273683dd195f3b05c27 Mon Sep 17 00:00:00 2001 From: Alex Dvoretsky Date: Fri, 7 Apr 2023 06:52:16 +0500 Subject: [PATCH 3/7] Update src/components/ScreenWrapper/propTypes.js Co-authored-by: Manan --- src/components/ScreenWrapper/propTypes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ScreenWrapper/propTypes.js b/src/components/ScreenWrapper/propTypes.js index b4eef740f674..1328f2929d18 100644 --- a/src/components/ScreenWrapper/propTypes.js +++ b/src/components/ScreenWrapper/propTypes.js @@ -1,5 +1,5 @@ import PropTypes from 'prop-types'; -import * as windowDimensionsPropTypes from '../withWindowDimensions'; +import {windowDimensionsPropTypes} from '../withWindowDimensions'; const propTypes = { /** Array of additional styles to add */ From 64534fa22a95c55fd5d0a0ae84423414cec7adc5 Mon Sep 17 00:00:00 2001 From: Alex Dvoretsky Date: Fri, 7 Apr 2023 08:02:06 +0500 Subject: [PATCH 4/7] Adds props descriptions, comments and minor fixes --- src/components/ReportActionItem/IOUPreview.js | 4 +++- .../report/reportActionFragmentPropTypes.js | 21 ++++++++++--------- src/pages/settings/userPropTypes.js | 2 +- src/pages/signin/SignInPage.js | 4 ++-- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/components/ReportActionItem/IOUPreview.js b/src/components/ReportActionItem/IOUPreview.js index 482107b71542..a835f1d1a4a3 100644 --- a/src/components/ReportActionItem/IOUPreview.js +++ b/src/components/ReportActionItem/IOUPreview.js @@ -101,7 +101,9 @@ const propTypes = { /** Pending action, if any */ pendingAction: PropTypes.oneOf(_.values(CONST.RED_BRICK_ROAD_PENDING_ACTION)), - /** */ + /** Whether or not an IOU report contains money requests in a different currency + * that are either created or cancelled offline, and thus haven't been converted to the report's currency yet + */ shouldShowPendingConversionMessage: PropTypes.bool, ...withLocalizePropTypes, diff --git a/src/pages/home/report/reportActionFragmentPropTypes.js b/src/pages/home/report/reportActionFragmentPropTypes.js index 035020d8c47c..a0e3b3953f94 100644 --- a/src/pages/home/report/reportActionFragmentPropTypes.js +++ b/src/pages/home/report/reportActionFragmentPropTypes.js @@ -1,31 +1,32 @@ import PropTypes from 'prop-types'; export default PropTypes.shape({ - // The type of the action item fragment. Used to render a corresponding component + /** The type of the action item fragment. Used to render a corresponding component */ type: PropTypes.string.isRequired, - // The text content of the fragment. + /** The text content of the fragment. */ text: PropTypes.string.isRequired, - // Used to apply additional styling. Style refers to a predetermined constant and not a class name. e.g. 'normal' - // or 'strong' + /** Used to apply additional styling. Style refers to a predetermined constant and not a class name. e.g. 'normal' + * or 'strong' + */ style: PropTypes.string, - // ID of a report + /** ID of a report */ reportID: PropTypes.string, - // ID of a policy + /** ID of a policy */ policyID: PropTypes.string, - // The target of a link fragment e.g. '_blank' + /** The target of a link fragment e.g. '_blank' */ target: PropTypes.string, - // The destination of a link fragment e.g. 'https://www.expensify.com' + /** The destination of a link fragment e.g. 'https://www.expensify.com' */ href: PropTypes.string, - // An additional avatar url - not the main avatar url but used within a message. + /** An additional avatar url - not the main avatar url but used within a message. */ iconUrl: PropTypes.string, - // Fragment edited flag + /** Fragment edited flag */ isEdited: PropTypes.bool, }); diff --git a/src/pages/settings/userPropTypes.js b/src/pages/settings/userPropTypes.js index 3f2ff7667293..7b1461df9623 100644 --- a/src/pages/settings/userPropTypes.js +++ b/src/pages/settings/userPropTypes.js @@ -7,7 +7,7 @@ export default PropTypes.shape({ /** Whether or not the user is on a public domain email account or not */ isFromPublicDomain: PropTypes.bool, - /** */ + /** Whever Expensify Card approval flow is ongoing - checking loginList for private domains */ isCheckingDomain: PropTypes.bool, /** Whether the form is being submitted */ diff --git a/src/pages/signin/SignInPage.js b/src/pages/signin/SignInPage.js index d19c1dc3add3..8347174c640f 100644 --- a/src/pages/signin/SignInPage.js +++ b/src/pages/signin/SignInPage.js @@ -64,7 +64,7 @@ class SignInPage extends Component { // - AND a password hasn't been entered yet // - AND haven't forgotten password // - AND the user is NOT on the passwordless beta - const showPasswordForm = this.props.credentials.login + const showPasswordForm = Boolean(this.props.credentials.login) && this.props.account.validated && !this.props.credentials.password && !this.props.account.forgotPassword @@ -116,7 +116,7 @@ class SignInPage extends Component { ) : ( )} - {Boolean(showResendValidationForm) && } + {showResendValidationForm && } ); From 8c0198c7f674c16908e6f85f5516f0685ce14c0e Mon Sep 17 00:00:00 2001 From: Alex Dvoretsky Date: Fri, 7 Apr 2023 08:10:07 +0500 Subject: [PATCH 5/7] Fixes showResendValidationForm to be boolean --- src/pages/signin/SignInPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/signin/SignInPage.js b/src/pages/signin/SignInPage.js index 8347174c640f..b1d33237d156 100644 --- a/src/pages/signin/SignInPage.js +++ b/src/pages/signin/SignInPage.js @@ -81,7 +81,7 @@ class SignInPage extends Component { // - A login has been entered // - AND is not validated or password is forgotten // - AND user is not on 'passwordless' beta - const showResendValidationForm = this.props.credentials.login + const showResendValidationForm = Boolean(this.props.credentials.login) && (!this.props.account.validated || this.props.account.forgotPassword) && !Permissions.canUsePasswordlessLogins(this.props.betas); From 8d26071ce1f4094235eadeb5c0d4054ee215ce84 Mon Sep 17 00:00:00 2001 From: Alex Dvoretsky Date: Fri, 7 Apr 2023 08:17:15 +0500 Subject: [PATCH 6/7] Fix trailing spaces --- src/pages/home/report/reportActionFragmentPropTypes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/home/report/reportActionFragmentPropTypes.js b/src/pages/home/report/reportActionFragmentPropTypes.js index a0e3b3953f94..0e30deae5ed1 100644 --- a/src/pages/home/report/reportActionFragmentPropTypes.js +++ b/src/pages/home/report/reportActionFragmentPropTypes.js @@ -7,8 +7,8 @@ export default PropTypes.shape({ /** The text content of the fragment. */ text: PropTypes.string.isRequired, - /** Used to apply additional styling. Style refers to a predetermined constant and not a class name. e.g. 'normal' - * or 'strong' + /** Used to apply additional styling. Style refers to a predetermined constant and not a class name. e.g. 'normal' + * or 'strong' */ style: PropTypes.string, From 9fd719a259821a88ca71f1860576a12f34989574 Mon Sep 17 00:00:00 2001 From: Alex Dvoretsky Date: Wed, 12 Apr 2023 00:51:48 +0500 Subject: [PATCH 7/7] Merge main - delete LoginField.js --- src/pages/settings/Profile/Contacts/LoginField.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 src/pages/settings/Profile/Contacts/LoginField.js diff --git a/src/pages/settings/Profile/Contacts/LoginField.js b/src/pages/settings/Profile/Contacts/LoginField.js deleted file mode 100755 index e69de29bb2d1..000000000000