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

@ -25,6 +25,8 @@ import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys';
import { isNonTextWritingKey } from '@/ui/utilities/hotkey/utils/isNonTextWritingKey';
import { REACT_APP_SERVER_BASE_URL } from '~/config';
import { FileFolder, useUploadFileMutation } from '~/generated/graphql';
import { isNonNullable } from '~/utils/isNonNullable';
import { isNullable } from '~/utils/isNullable';
import { blockSpecs } from '../blocks/blockSpecs';
import { getSlashMenu } from '../blocks/slashMenu';
@ -78,7 +80,7 @@ export const ActivityBodyEditor = ({
const { upsertActivity } = useUpsertActivity();
const persistBodyDebounced = useDebouncedCallback((newBody: string) => {
if (activity) {
if (isNonNullable(activity)) {
upsertActivity({
activity,
input: {
@ -90,7 +92,7 @@ export const ActivityBodyEditor = ({
const persistTitleAndBodyDebounced = useDebouncedCallback(
(newTitle: string, newBody: string) => {
if (activity) {
if (isNonNullable(activity)) {
upsertActivity({
activity,
input: {
@ -124,7 +126,7 @@ export const ActivityBodyEditor = ({
const [uploadFile] = useUploadFileMutation();
const handleUploadAttachment = async (file: File): Promise<string> => {
if (!file) {
if (isNullable(file)) {
return '';
}
const result = await uploadFile({
@ -226,7 +228,7 @@ export const ActivityBodyEditor = ({
if (isNonEmptyString(activityBody) && activityBody !== '{}') {
return JSON.parse(activityBody);
} else if (
activity &&
isNonNullable(activity) &&
isNonEmptyString(activity.body) &&
activity?.body !== '{}'
) {
@ -251,7 +253,7 @@ export const ActivityBodyEditor = ({
const handleImagePaste = async (event: ClipboardEvent) => {
const clipboardItems = event.clipboardData?.items;
if (clipboardItems) {
if (isNonNullable(clipboardItems)) {
for (let i = 0; i < clipboardItems.length; i++) {
if (clipboardItems[i].kind === 'file') {
const isImage = clipboardItems[i].type.match('^image/');
@ -266,7 +268,7 @@ export const ActivityBodyEditor = ({
return;
}
if (isImage) {
if (isNonNullable(isImage)) {
editor?.insertBlocks(
[
{
@ -332,7 +334,7 @@ export const ActivityBodyEditor = ({
const currentBlockContent = blockIdentifier?.content;
if (
currentBlockContent &&
isNonNullable(currentBlockContent) &&
isArray(currentBlockContent) &&
currentBlockContent.length === 0
) {
@ -344,7 +346,7 @@ export const ActivityBodyEditor = ({
}
if (
currentBlockContent &&
isNonNullable(currentBlockContent) &&
isArray(currentBlockContent) &&
currentBlockContent[0] &&
currentBlockContent[0].type === 'text'

View File

@ -3,6 +3,7 @@ import { useRecoilState } from 'recoil';
import { activityBodyFamilyState } from '@/activities/states/activityBodyFamilyState';
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
import { isNonNullable } from '~/utils/isNonNullable';
export const ActivityBodyEffect = ({ activityId }: { activityId: string }) => {
const [activityFromStore] = useRecoilState(
@ -16,7 +17,7 @@ export const ActivityBodyEffect = ({ activityId }: { activityId: string }) => {
useEffect(() => {
if (
activityBody === '' &&
activityFromStore &&
isNonNullable(activityFromStore) &&
activityBody !== activityFromStore.body
) {
setActivityBody(activityFromStore.body);

View File

@ -11,6 +11,7 @@ import { Activity } from '@/activities/types/Activity';
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
import { RIGHT_DRAWER_CLICK_OUTSIDE_LISTENER_ID } from '@/ui/layout/right-drawer/constants/RightDrawerClickOutsideListener';
import { useClickOutsideListener } from '@/ui/utilities/pointer-event/hooks/useClickOutsideListener';
import { isNonNullable } from '~/utils/isNonNullable';
export const ActivityEditorEffect = ({
activityId,
@ -57,7 +58,7 @@ export const ActivityEditorEffect = ({
return;
}
if (isActivityInCreateMode && activity) {
if (isActivityInCreateMode && isNonNullable(activity)) {
if (canCreateActivity) {
upsertActivity({
activity,
@ -71,7 +72,7 @@ export const ActivityEditorEffect = ({
}
set(isActivityInCreateModeState, false);
} else if (activity) {
} else if (isNonNullable(activity)) {
if (
activity.title !== activityTitle ||
activity.body !== activityBody

View File

@ -13,6 +13,7 @@ import {
import { RecordInlineCell } from '@/object-record/record-inline-cell/components/RecordInlineCell';
import { PropertyBox } from '@/object-record/record-inline-cell/property-box/components/PropertyBox';
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
import { isNonNullable } from '~/utils/isNonNullable';
const StyledPropertyBox = styled(PropertyBox)`
padding: 0;
@ -35,7 +36,7 @@ export const ActivityEditorFields = ({
const upsertActivityMutation = async ({
variables,
}: RecordUpdateHookParams) => {
if (activityFromStore) {
if (isNonNullable(activityFromStore)) {
await upsertActivity({
activity: activityFromStore as Activity,
input: variables.updateOneRecordInput,

View File

@ -3,6 +3,7 @@ import { useRecoilState } from 'recoil';
import { activityTitleFamilyState } from '@/activities/states/activityTitleFamilyState';
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
import { isNonNullable } from '~/utils/isNonNullable';
export const ActivityTitleEffect = ({ activityId }: { activityId: string }) => {
const [activityFromStore] = useRecoilState(
@ -16,7 +17,7 @@ export const ActivityTitleEffect = ({ activityId }: { activityId: string }) => {
useEffect(() => {
if (
activityTitle === '' &&
activityFromStore &&
isNonNullable(activityFromStore) &&
activityTitle !== activityFromStore.title
) {
setActivityTitle(activityFromStore.title);