TWNTY-3794 - ESLint rule: only take explicit boolean predicates in if statements (#4354)

* ESLint rule: only take explicit boolean predicates in if statements

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Merge main

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Fix frontend linter errors

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Fix jest

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Fix lint on new code

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>
This commit is contained in:
gitstart-app[bot]
2024-03-09 10:48:19 +01:00
committed by GitHub
parent 40bea0d95e
commit 17511be0cf
164 changed files with 655 additions and 367 deletions

View File

@ -1,6 +1,8 @@
import React, { ReactNode } from 'react';
import styled from '@emotion/styled';
import { isNonNullable } from '~/utils/isNonNullable';
import { ButtonPosition, ButtonProps } from './Button';
const StyledButtonGroupContainer = styled.div`
@ -39,15 +41,15 @@ export const ButtonGroup = ({
const additionalProps: any = { position, variant, accent, size };
if (variant) {
if (isNonNullable(variant)) {
additionalProps.variant = variant;
}
if (accent) {
if (isNonNullable(accent)) {
additionalProps.variant = variant;
}
if (size) {
if (isNonNullable(size)) {
additionalProps.size = size;
}

View File

@ -1,6 +1,8 @@
import React from 'react';
import styled from '@emotion/styled';
import { isNonNullable } from '~/utils/isNonNullable';
import { FloatingButtonPosition, FloatingButtonProps } from './FloatingButton';
const StyledFloatingButtonGroupContainer = styled.div`
@ -40,7 +42,7 @@ export const FloatingButtonGroup = ({
applyBlur: false,
};
if (size) {
if (isNonNullable(size)) {
additionalProps.size = size;
}

View File

@ -19,7 +19,7 @@ const StyledButton = styled.button<
>`
align-items: center;
background: ${({ theme, variant, disabled }) => {
if (disabled) {
if (disabled === true) {
return theme.background.secondary;
}
@ -34,7 +34,7 @@ const StyledButton = styled.button<
}};
border: 1px solid;
border-color: ${({ theme, disabled, variant }) => {
if (disabled) {
if (disabled === true) {
return theme.background.transparent.lighter;
}
@ -49,14 +49,14 @@ const StyledButton = styled.button<
}};
border-radius: ${({ theme }) => theme.border.radius.md};
${({ theme, disabled }) => {
if (disabled) {
if (disabled === true) {
return '';
}
return `box-shadow: ${theme.boxShadow.light};`;
}}
color: ${({ theme, variant, disabled }) => {
if (disabled) {
if (disabled === true) {
return theme.font.color.light;
}

View File

@ -9,6 +9,7 @@ import {
IconX,
} from '@/ui/display/icon';
import { Button } from '@/ui/input/button/components/Button';
import { isNonNullable } from '~/utils/isNonNullable';
const StyledContainer = styled.div`
display: flex;
@ -39,7 +40,7 @@ const StyledPicture = styled.button<{ withPicture: boolean }>`
}
${({ theme, withPicture, disabled }) => {
if (withPicture || disabled) {
if ((withPicture || disabled) === true) {
return '';
}
@ -132,10 +133,11 @@ export const ImageInput = ({
ref={hiddenFileInput}
accept="image/jpeg, image/png, image/gif" // to desired specification
onChange={(event) => {
if (onUpload) {
if (event.target.files) {
onUpload(event.target.files[0]);
}
if (
isNonNullable(onUpload) &&
isNonNullable(event.target.files)
) {
onUpload(event.target.files[0]);
}
}}
/>

View File

@ -2,6 +2,8 @@ import { useEffect, useState } from 'react';
import styled from '@emotion/styled';
import { motion } from 'framer-motion';
import { isNonNullable } from '~/utils/isNonNullable';
export type ToggleSize = 'small' | 'medium';
type ContainerProps = {
@ -56,7 +58,7 @@ export const Toggle = ({
const handleChange = () => {
setIsOn(!isOn);
if (onChange) {
if (isNonNullable(onChange)) {
onChange(!isOn);
}
};

View File

@ -6,6 +6,7 @@ import { CurrencyCode } from '@/object-record/record-field/types/CurrencyCode';
import { IconChevronDown } from '@/ui/display/icon';
import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown';
import { isNonNullable } from '~/utils/isNonNullable';
import { CurrencyPickerHotkeyScope } from '../types/CurrencyPickerHotkeyScope';
@ -76,7 +77,7 @@ export const CurrencyPickerDropdownButton = ({
useEffect(() => {
const currency = currencies.find(({ value }) => value === valueCode);
if (currency) {
if (isNonNullable(currency)) {
setSelectedCurrency(currency);
}
}, [valueCode, currencies]);

View File

@ -9,6 +9,7 @@ import { CountryCallingCode } from 'libphonenumber-js';
import { IconChevronDown, IconWorld } from '@/ui/display/icon';
import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown';
import { isNonNullable } from '~/utils/isNonNullable';
import { CountryPickerHotkeyScope } from '../types/CountryPickerHotkeyScope';
@ -112,7 +113,7 @@ export const CountryPickerDropdownButton = ({
useEffect(() => {
const country = countries.find(({ countryCode }) => countryCode === value);
if (country) {
if (isNonNullable(country)) {
setSelectedCountry(country);
}
}, [countries, value]);