mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-02-13 22:14:59 -05:00
feat(ui): rough out recent workflows
This commit is contained in:
@@ -2,7 +2,7 @@ import { useToast } from '@invoke-ai/ui-library';
|
||||
import { useLoadWorkflow } from 'features/workflowLibrary/hooks/useLoadWorkflow';
|
||||
import { useCallback } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useLazyGetWorkflowQuery, workflowsApi } from 'services/api/endpoints/workflows';
|
||||
import { useLazyGetWorkflowQuery, useUpdateOpenedAtMutation, workflowsApi } from 'services/api/endpoints/workflows';
|
||||
|
||||
type UseGetAndLoadLibraryWorkflowOptions = {
|
||||
onSuccess?: () => void;
|
||||
@@ -20,13 +20,15 @@ export const useGetAndLoadLibraryWorkflow: UseGetAndLoadLibraryWorkflow = (arg)
|
||||
const toast = useToast();
|
||||
const { t } = useTranslation();
|
||||
const loadWorkflow = useLoadWorkflow();
|
||||
const [_getAndLoadWorkflow, getAndLoadWorkflowResult] = useLazyGetWorkflowQuery();
|
||||
const [getWorkflow, getAndLoadWorkflowResult] = useLazyGetWorkflowQuery();
|
||||
const [updateOpenedAt] = useUpdateOpenedAtMutation();
|
||||
const getAndLoadWorkflow = useCallback(
|
||||
async (workflow_id: string) => {
|
||||
try {
|
||||
const { workflow } = await _getAndLoadWorkflow(workflow_id).unwrap();
|
||||
const { workflow } = await getWorkflow(workflow_id).unwrap();
|
||||
// This action expects a stringified workflow, instead of updating the routes and services we will just stringify it here
|
||||
loadWorkflow({ workflow: JSON.stringify(workflow), graph: null });
|
||||
await loadWorkflow({ workflow: JSON.stringify(workflow), graph: null });
|
||||
updateOpenedAt({ workflow_id });
|
||||
// No toast - the listener for this action does that after the workflow is loaded
|
||||
arg?.onSuccess && arg.onSuccess();
|
||||
} catch {
|
||||
@@ -38,7 +40,7 @@ export const useGetAndLoadLibraryWorkflow: UseGetAndLoadLibraryWorkflow = (arg)
|
||||
arg?.onError && arg.onError();
|
||||
}
|
||||
},
|
||||
[_getAndLoadWorkflow, loadWorkflow, arg, toast, t]
|
||||
[getWorkflow, loadWorkflow, updateOpenedAt, arg, toast, t]
|
||||
);
|
||||
|
||||
return { getAndLoadWorkflow, getAndLoadWorkflowResult };
|
||||
|
||||
Reference in New Issue
Block a user