diff --git a/.eslintrc.js b/.eslintrc.js index cfbfdcc8fe91..fefad92ce29d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -294,6 +294,7 @@ module.exports = { files: ['*.ts', '*.tsx'], rules: { 'rulesdir/prefer-at': 'error', + 'rulesdir/boolean-conditional-rendering': 'error', }, }, ], diff --git a/src/components/AccountSwitcher.tsx b/src/components/AccountSwitcher.tsx index 8ccab44a2cb9..ad58294c0cc8 100644 --- a/src/components/AccountSwitcher.tsx +++ b/src/components/AccountSwitcher.tsx @@ -152,7 +152,7 @@ function AccountSwitcher() { > {currentUserPersonalDetails?.displayName} - {canSwitchAccounts && ( + {!!canSwitchAccounts && ( - {canSwitchAccounts && ( + {!!canSwitchAccounts && ( { diff --git a/src/components/Attachments/AttachmentCarousel/CarouselItem.tsx b/src/components/Attachments/AttachmentCarousel/CarouselItem.tsx index 103abb2df1bb..4de43a763231 100644 --- a/src/components/Attachments/AttachmentCarousel/CarouselItem.tsx +++ b/src/components/Attachments/AttachmentCarousel/CarouselItem.tsx @@ -86,7 +86,7 @@ function CarouselItem({item, onPress, isFocused, isModalHovered}: CarouselItemPr /> - {item.hasBeenFlagged && ( + {!!item.hasBeenFlagged && ( {({safeAreaPaddingBottomStyle}) => {renderButton([styles.m4, styles.alignSelfCenter])}} diff --git a/src/components/Attachments/AttachmentView/DefaultAttachmentView/index.tsx b/src/components/Attachments/AttachmentView/DefaultAttachmentView/index.tsx index 23e13833df64..8f149182d9a6 100644 --- a/src/components/Attachments/AttachmentView/DefaultAttachmentView/index.tsx +++ b/src/components/Attachments/AttachmentView/DefaultAttachmentView/index.tsx @@ -47,7 +47,7 @@ function DefaultAttachmentView({fileName = '', shouldShowLoadingSpinnerIcon = fa {fileName} - {!shouldShowLoadingSpinnerIcon && shouldShowDownloadIcon && ( + {!shouldShowLoadingSpinnerIcon && !!shouldShowDownloadIcon && ( - {report && !!title && ( + {!!report && !!title && ( - {errorData.validationError && ( + {!!errorData.validationError && ( - {icon && ( + {!!icon && ( - {shouldShowIcon && icon && ( + {shouldShowIcon && !!icon && ( ( <> - {subtitle && ( + {!!subtitle && ( - {animation && ( + {!!animation && ( )} - {icon && ( + {!!icon && ( - {icon && ( + {!!icon && ( ({ enterKeyEventListenerPriority={enterKeyEventListenerPriority} /> )} - {(shouldAlwaysShowDropdownMenu || options.length > 1) && popoverAnchorPosition && ( + {(shouldAlwaysShowDropdownMenu || options.length > 1) && !!popoverAnchorPosition && ( { diff --git a/src/components/CheckboxWithLabel.tsx b/src/components/CheckboxWithLabel.tsx index db62aa9e1441..0647b495bd33 100644 --- a/src/components/CheckboxWithLabel.tsx +++ b/src/components/CheckboxWithLabel.tsx @@ -95,8 +95,8 @@ function CheckboxWithLabel( style={[styles.flexRow, styles.alignItemsCenter, styles.noSelect, styles.w100]} wrapperStyle={[styles.ml3, styles.pr2, styles.w100, styles.flexWrap, styles.flexShrink1]} > - {label && {label}} - {LabelComponent && } + {!!label && {label}} + {!!LabelComponent && } diff --git a/src/components/CollapsibleSection/index.tsx b/src/components/CollapsibleSection/index.tsx index d339f005e3d3..3776dfa2cf9b 100644 --- a/src/components/CollapsibleSection/index.tsx +++ b/src/components/CollapsibleSection/index.tsx @@ -63,7 +63,7 @@ function CollapsibleSection({title, children, titleStyle, textStyle, wrapperStyl src={src} /> - {shouldShowSectionBorder && } + {!!shouldShowSectionBorder && } {children} diff --git a/src/components/ConfirmContent.tsx b/src/components/ConfirmContent.tsx index bda78b9b320d..cb0fc6e8e8cb 100644 --- a/src/components/ConfirmContent.tsx +++ b/src/components/ConfirmContent.tsx @@ -168,7 +168,7 @@ function ConfirmContent({ )} - {iconSource && ( + {!!iconSource && ( - {title && {titleAlreadyTranslated ?? translate(title)}} + {!!title && {titleAlreadyTranslated ?? translate(title)}} {children} ); diff --git a/src/components/DecisionModal.tsx b/src/components/DecisionModal.tsx index a9bd0b204d79..927ba1ecab11 100644 --- a/src/components/DecisionModal.tsx +++ b/src/components/DecisionModal.tsx @@ -55,7 +55,7 @@ function DecisionModal({title, prompt = '', firstOptionText, secondOptionText, o {prompt} - {firstOptionText && ( + {!!firstOptionText && (