@@ -25,6 +25,8 @@ import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys';
25
25
import { isNonTextWritingKey } from '@/ui/utilities/hotkey/utils/isNonTextWritingKey' ;
26
26
import { REACT_APP_SERVER_BASE_URL } from '~/config' ;
27
27
import { FileFolder , useUploadFileMutation } from '~/generated/graphql' ;
28
+ import { isNonNullable } from '~/utils/isNonNullable' ;
29
+ import { isNullable } from '~/utils/isNullable' ;
28
30
29
31
import { blockSpecs } from '../blocks/blockSpecs' ;
30
32
import { getSlashMenu } from '../blocks/slashMenu' ;
@@ -78,7 +80,7 @@ export const ActivityBodyEditor = ({
78
80
const { upsertActivity } = useUpsertActivity ( ) ;
79
81
80
82
const persistBodyDebounced = useDebouncedCallback ( ( newBody : string ) => {
81
- if ( activity ) {
83
+ if ( isNonNullable ( activity ) ) {
82
84
upsertActivity ( {
83
85
activity,
84
86
input : {
@@ -90,7 +92,7 @@ export const ActivityBodyEditor = ({
90
92
91
93
const persistTitleAndBodyDebounced = useDebouncedCallback (
92
94
( newTitle : string , newBody : string ) => {
93
- if ( activity ) {
95
+ if ( isNonNullable ( activity ) ) {
94
96
upsertActivity ( {
95
97
activity,
96
98
input : {
@@ -124,7 +126,7 @@ export const ActivityBodyEditor = ({
124
126
const [ uploadFile ] = useUploadFileMutation ( ) ;
125
127
126
128
const handleUploadAttachment = async ( file : File ) : Promise < string > => {
127
- if ( ! file ) {
129
+ if ( isNullable ( file ) ) {
128
130
return '' ;
129
131
}
130
132
const result = await uploadFile ( {
@@ -226,7 +228,7 @@ export const ActivityBodyEditor = ({
226
228
if ( isNonEmptyString ( activityBody ) && activityBody !== '{}' ) {
227
229
return JSON . parse ( activityBody ) ;
228
230
} else if (
229
- activity &&
231
+ isNonNullable ( activity ) &&
230
232
isNonEmptyString ( activity . body ) &&
231
233
activity ?. body !== '{}'
232
234
) {
@@ -251,7 +253,7 @@ export const ActivityBodyEditor = ({
251
253
const handleImagePaste = async ( event : ClipboardEvent ) => {
252
254
const clipboardItems = event . clipboardData ?. items ;
253
255
254
- if ( clipboardItems ) {
256
+ if ( isNonNullable ( clipboardItems ) ) {
255
257
for ( let i = 0 ; i < clipboardItems . length ; i ++ ) {
256
258
if ( clipboardItems [ i ] . kind === 'file' ) {
257
259
const isImage = clipboardItems [ i ] . type . match ( '^image/' ) ;
@@ -266,7 +268,7 @@ export const ActivityBodyEditor = ({
266
268
return ;
267
269
}
268
270
269
- if ( isImage ) {
271
+ if ( isNonNullable ( isImage ) ) {
270
272
editor ?. insertBlocks (
271
273
[
272
274
{
@@ -332,7 +334,7 @@ export const ActivityBodyEditor = ({
332
334
const currentBlockContent = blockIdentifier ?. content ;
333
335
334
336
if (
335
- currentBlockContent &&
337
+ isNonNullable ( currentBlockContent ) &&
336
338
isArray ( currentBlockContent ) &&
337
339
currentBlockContent . length === 0
338
340
) {
@@ -344,7 +346,7 @@ export const ActivityBodyEditor = ({
344
346
}
345
347
346
348
if (
347
- currentBlockContent &&
349
+ isNonNullable ( currentBlockContent ) &&
348
350
isArray ( currentBlockContent ) &&
349
351
currentBlockContent [ 0 ] &&
350
352
currentBlockContent [ 0 ] . type === 'text'
0 commit comments