Skip to content

Commit 195df2e

Browse files
Mary Hipppsychedelicious
authored andcommitted
remove logic changes, keep logging
1 parent 7b5cef6 commit 195df2e

File tree

1 file changed

+30
-54
lines changed

1 file changed

+30
-54
lines changed

invokeai/frontend/web/src/features/dnd/FullscreenDropzone.tsx

Lines changed: 30 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ import { useAppSelector } from 'app/store/storeHooks';
1010
import { DndDropOverlay } from 'features/dnd/DndDropOverlay';
1111
import type { DndTargetState } from 'features/dnd/types';
1212
import { selectAutoAddBoardId } from 'features/gallery/store/gallerySelectors';
13+
import { selectMaxImageUploadCount } from 'features/system/store/configSlice';
1314
import { toast } from 'features/toast/toast';
14-
import { memo, useCallback, useEffect, useRef, useState } from 'react';
15+
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
1516
import { useTranslation } from 'react-i18next';
1617
import { uploadImages } from 'services/api/endpoints/images';
1718
import { useBoardName } from 'services/api/hooks/useBoardName';
@@ -20,7 +21,8 @@ import { z } from 'zod';
2021

2122
const ACCEPTED_IMAGE_TYPES = ['image/png', 'image/jpg', 'image/jpeg'];
2223
const ACCEPTED_FILE_EXTENSIONS = ['.png', '.jpg', '.jpeg'];
23-
const log = logger('gallery');
24+
25+
const log = logger('generation');
2426

2527
// const MAX_IMAGE_SIZE = 4; //In MegaBytes
2628
// const sizeInMB = (sizeInBytes: number, decimalsNum = 2) => {
@@ -67,19 +69,20 @@ const sx = {
6769
},
6870
} satisfies SystemStyleObject;
6971

70-
const maxImageUploadCount = undefined;
71-
7272
export const FullscreenDropzone = memo(() => {
7373
const { t } = useTranslation();
7474
const ref = useRef<HTMLDivElement>(null);
75-
75+
const maxImageUploadCount = useAppSelector(selectMaxImageUploadCount);
7676
const [dndState, setDndState] = useState<DndTargetState>('idle');
7777

78+
const uploadFilesSchema = useMemo(() => getFilesSchema(maxImageUploadCount), [maxImageUploadCount]);
79+
7880
const validateAndUploadFiles = useCallback(
7981
(files: File[]) => {
82+
log.info('validateAndUploadFiles');
8083
const { getState } = getStore();
81-
const uploadFilesSchema = getFilesSchema(maxImageUploadCount);
8284
const parseResult = uploadFilesSchema.safeParse(files);
85+
log.info('parseResult');
8386

8487
if (!parseResult.success) {
8588
const description =
@@ -107,7 +110,7 @@ export const FullscreenDropzone = memo(() => {
107110

108111
uploadImages(uploadArgs);
109112
},
110-
[t]
113+
[maxImageUploadCount, t, uploadFilesSchema]
111114
);
112115

113116
useEffect(() => {
@@ -148,57 +151,30 @@ export const FullscreenDropzone = memo(() => {
148151
useEffect(() => {
149152
log.info('use effect');
150153
const controller = new AbortController();
151-
152-
window.addEventListener(
153-
'paste',
154-
(e) => {
155-
log.info('event listener');
156-
log.info(JSON.stringify(e.clipboardData));
157-
if (!e.clipboardData?.files) {
158-
log.info('no files');
159-
return;
160-
}
161-
const files = Array.from(e.clipboardData.files);
162-
const { getState } = getStore();
163-
const uploadFilesSchema = getFilesSchema(undefined);
164-
const parseResult = uploadFilesSchema.safeParse(files);
165-
166-
if (!parseResult.success) {
167-
// const description =
168-
// maxImageUploadCount === undefined
169-
// ? t('toast.uploadFailedInvalidUploadDesc')
170-
// : t('toast.uploadFailedInvalidUploadDesc_withCount', { count: maxImageUploadCount });
171-
172-
// toast({
173-
// id: 'UPLOAD_FAILED',
174-
// title: t('toast.uploadFailed'),
175-
// description,
176-
// status: 'error',
177-
// });
178-
log.info("couldn't parse");
179-
return;
180-
}
181-
const autoAddBoardId = selectAutoAddBoardId(getState());
182-
183-
const uploadArgs: UploadImageArg[] = files.map((file, i) => ({
184-
file,
185-
image_category: 'user',
186-
is_intermediate: false,
187-
board_id: autoAddBoardId === 'none' ? undefined : autoAddBoardId,
188-
isFirstUploadOfBatch: i === 0,
189-
}));
190-
191-
uploadImages(uploadArgs);
192-
// validateAndUploadFiles(files);
193-
},
194-
{ signal: controller.signal }
195-
);
154+
try {
155+
window.addEventListener(
156+
'paste',
157+
(e) => {
158+
log.info('in paste');
159+
log.info(`clipboardData: ${JSON.stringify(e.clipboardData)}`);
160+
if (!e.clipboardData?.files) {
161+
log.info('no files');
162+
return;
163+
}
164+
const files = Array.from(e.clipboardData.files);
165+
validateAndUploadFiles(files);
166+
},
167+
{ signal: controller.signal }
168+
);
169+
} catch (error) {
170+
log.info(`error: ${JSON.stringify(error)}`);
171+
}
196172

197173
return () => {
198-
log.info('aborted');
174+
log.info('abort');
199175
controller.abort();
200176
};
201-
}, []);
177+
}, [validateAndUploadFiles]);
202178

203179
return (
204180
<Box ref={ref} data-dnd-state={dndState} sx={sx}>

0 commit comments

Comments
 (0)