11import { Badge , Flex , IconButton , Spacer , Text , Tooltip } from '@invoke-ai/ui-library' ;
22import { useStore } from '@nanostores/react' ;
33import { $projectUrl } from 'app/store/nanostores/projectId' ;
4- import { useAppDispatch , useAppSelector } from 'app/store/storeHooks' ;
4+ import { useAppSelector } from 'app/store/storeHooks' ;
55import dateFormat , { masks } from 'dateformat' ;
6- import { useWorkflowListMenu } from 'features/nodes/store/workflowListMenu' ;
7- import { selectWorkflowId , workflowModeChanged } from 'features/nodes/store/workflowSlice' ;
6+ import { selectWorkflowId } from 'features/nodes/store/workflowSlice' ;
87import { useDeleteWorkflow } from 'features/workflowLibrary/components/DeleteLibraryWorkflowConfirmationAlertDialog' ;
8+ import { useLoadWorkflow } from 'features/workflowLibrary/components/LoadWorkflowConfirmationAlertDialog' ;
99import { useDownloadWorkflow } from 'features/workflowLibrary/hooks/useDownloadWorkflow' ;
10- import { useGetAndLoadLibraryWorkflow } from 'features/workflowLibrary/hooks/useGetAndLoadLibraryWorkflow' ;
1110import type { MouseEvent } from 'react' ;
1211import { useCallback , useMemo , useState } from 'react' ;
1312import { useTranslation } from 'react-i18next' ;
@@ -19,9 +18,7 @@ import { WorkflowListItemTooltip } from './WorkflowListItemTooltip';
1918
2019export const WorkflowListItem = ( { workflow } : { workflow : WorkflowRecordListItemDTO } ) => {
2120 const { t } = useTranslation ( ) ;
22- const dispatch = useAppDispatch ( ) ;
2321 const projectUrl = useStore ( $projectUrl ) ;
24- const workflowListMenu = useWorkflowListMenu ( ) ;
2522 const [ isHovered , setIsHovered ] = useState ( false ) ;
2623
2724 const handleMouseOver = useCallback ( ( ) => {
@@ -36,33 +33,21 @@ export const WorkflowListItem = ({ workflow }: { workflow: WorkflowRecordListIte
3633 const downloadWorkflow = useDownloadWorkflow ( ) ;
3734 const shareWorkflow = useShareWorkflow ( ) ;
3835 const deleteWorkflow = useDeleteWorkflow ( ) ;
39- const { getAndLoadWorkflow } = useGetAndLoadLibraryWorkflow ( {
40- onSuccess : workflowListMenu . close ,
41- } ) ;
36+ const loadWorkflow = useLoadWorkflow ( ) ;
4237
4338 const isActive = useMemo ( ( ) => {
4439 return workflowId === workflow . workflow_id ;
4540 } , [ workflowId , workflow . workflow_id ] ) ;
4641
47- const handleClickLoad = useCallback (
48- ( e : MouseEvent < HTMLDivElement > ) => {
49- e . stopPropagation ( ) ;
50- getAndLoadWorkflow ( workflow . workflow_id ) ;
51- workflowListMenu . close ( ) ;
52- } ,
53- [ getAndLoadWorkflow , workflow . workflow_id , workflowListMenu ]
54- ) ;
42+ const handleClickLoad = useCallback ( ( ) => {
43+ setIsHovered ( false ) ;
44+ loadWorkflow . loadWithDialog ( workflow . workflow_id , 'view' ) ;
45+ } , [ loadWorkflow , workflow . workflow_id ] ) ;
5546
56- const handleClickEdit = useCallback (
57- async ( e : MouseEvent < HTMLButtonElement > ) => {
58- e . stopPropagation ( ) ;
59- setIsHovered ( false ) ;
60- await getAndLoadWorkflow ( workflow . workflow_id ) ;
61- dispatch ( workflowModeChanged ( 'edit' ) ) ;
62- workflowListMenu . close ( ) ;
63- } ,
64- [ getAndLoadWorkflow , workflow . workflow_id , dispatch , workflowListMenu ]
65- ) ;
47+ const handleClickEdit = useCallback ( ( ) => {
48+ setIsHovered ( false ) ;
49+ loadWorkflow . loadWithDialog ( workflow . workflow_id , 'view' ) ;
50+ } , [ loadWorkflow , workflow . workflow_id ] ) ;
6651
6752 const handleClickDelete = useCallback (
6853 ( e : MouseEvent < HTMLButtonElement > ) => {
0 commit comments