Skip to content

Commit c10e92c

Browse files
refactor: improve code organization in ModelList components
- Reordered imports to follow conventional grouping (external, internal, then third-party utilities) - Added type assertion for error serialization to satisfy TypeScript - Extracted inline event handler into named callback function for better readability
1 parent bba83cd commit c10e92c

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelList.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { Flex, Text, useDisclosure, useToast } from '@invoke-ai/ui-library';
22
import { logger } from 'app/logging/logger';
33
import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
44
import ScrollableContent from 'common/components/OverlayScrollbars/ScrollableContent';
5-
import { serializeError } from 'serialize-error';
65
import { MODEL_CATEGORIES_AS_LIST } from 'features/modelManagerV2/models';
76
import {
87
clearModelSelection,
@@ -14,6 +13,7 @@ import {
1413
} from 'features/modelManagerV2/store/modelManagerV2Slice';
1514
import { memo, useCallback, useMemo, useState } from 'react';
1615
import { useTranslation } from 'react-i18next';
16+
import { serializeError } from 'serialize-error';
1717
import {
1818
modelConfigsAdapterSelectors,
1919
useBulkDeleteModelsMutation,
@@ -116,7 +116,7 @@ const ModelList = () => {
116116

117117
log.info(`Bulk delete completed: ${result.deleted.length} deleted, ${result.failed.length} failed`);
118118
} catch (err) {
119-
log.error({ error: serializeError(err) }, 'Bulk delete error');
119+
log.error({ error: serializeError(err as Error) }, 'Bulk delete error');
120120
toast({
121121
id: 'BULK_DELETE_ERROR',
122122
title: t('modelManager.modelsDeleteError', {
@@ -127,7 +127,7 @@ const ModelList = () => {
127127
} finally {
128128
setIsDeleting(false);
129129
}
130-
}, [bulkDeleteModels, selectedModelKeys, dispatch, onClose, toast, t, log]);
130+
}, [bulkDeleteModels, selectedModelKeys, dispatch, onClose, toast, t]);
131131

132132
return (
133133
<>

invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelListItem.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ const ModelListItem = ({ model }: ModelListItemProps) => {
9595
dispatch(toggleModelSelection(model.key));
9696
}, [model.key, dispatch]);
9797

98+
const handleCheckboxClick = useCallback((e: MouseEvent<HTMLInputElement>) => {
99+
e.stopPropagation();
100+
}, []);
101+
98102
return (
99103
<Flex
100104
sx={sx}
@@ -112,7 +116,7 @@ const ModelListItem = ({ model }: ModelListItemProps) => {
112116
onChange={handleCheckboxChange}
113117
mt={1}
114118
pointerEvents="auto"
115-
onClick={(e) => e.stopPropagation()}
119+
onClick={handleCheckboxClick}
116120
/>
117121
)}
118122
<Flex gap={2} w="full" h="full" minW={0}>

0 commit comments

Comments
 (0)