diff --git a/src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx b/src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx index e94c1647a..cc9430959 100644 --- a/src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx +++ b/src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx @@ -19,6 +19,7 @@ import { } from "@/components/ui/dropdown-menu"; import { UPLOAD_ERROR_ALERT } from "@/constants/alerts_constants"; import { SAVED_HOVER } from "@/constants/constants"; +import { useGetRefreshFlowsQuery } from "@/controllers/API/queries/flows/use-get-refresh-flows-query"; import { useGetFoldersQuery } from "@/controllers/API/queries/folders/use-get-folders"; import ExportModal from "@/modals/exportModal"; import FlowLogsModal from "@/modals/flowLogsModal"; @@ -53,7 +54,16 @@ export const MenuBar = ({}: {}): JSX.Element => { const onFlowPage = useFlowStore((state) => state.onFlowPage); const setCurrentFlow = useFlowsManagerStore((state) => state.setCurrentFlow); const stopBuilding = useFlowStore((state) => state.stopBuilding); - const { data: folders } = useGetFoldersQuery(); + + const { data: folders, isFetched: isFoldersFetched } = useGetFoldersQuery(); + + useGetRefreshFlowsQuery( + { + get_all: true, + header_flows: true, + }, + { enabled: isFoldersFetched }, + ); const currentFolder = useMemo( () => folders?.find((f) => f.id === currentFlow?.folder_id), diff --git a/src/frontend/src/controllers/API/queries/flows/use-get-flow.ts b/src/frontend/src/controllers/API/queries/flows/use-get-flow.ts index 34a6fb19d..e059db1d5 100644 --- a/src/frontend/src/controllers/API/queries/flows/use-get-flow.ts +++ b/src/frontend/src/controllers/API/queries/flows/use-get-flow.ts @@ -1,6 +1,7 @@ import { useMutationFunctionType } from "@/types/api"; import { FlowType } from "@/types/flow"; import { processFlows } from "@/utils/reactflowUtils"; +import { useQueryClient } from "@tanstack/react-query"; import { api } from "../../api"; import { getURL } from "../../helpers/constants"; import { UseRequestProcessor } from "../../services/request-processor"; @@ -14,6 +15,7 @@ export const useGetFlow: useMutationFunctionType = ( options, ) => { const { mutate } = UseRequestProcessor(); + const queryClient = useQueryClient(); const getFlowFn = async (payload: IGetFlow): Promise => { const response = await api.get( @@ -25,7 +27,19 @@ export const useGetFlow: useMutationFunctionType = ( return flows[0]; }; - const mutation = mutate(["useGetFlow"], getFlowFn, options); + const mutation = mutate(["useGetFlow"], getFlowFn, { + ...options, + onSettled: (response) => { + if (response) { + queryClient.refetchQueries({ + queryKey: [ + "useGetRefreshFlowsQuery", + { get_all: true, header_flows: true }, + ], + }); + } + }, + }); return mutation; }; diff --git a/src/frontend/src/controllers/API/queries/flows/use-get-refresh-flows-query.ts b/src/frontend/src/controllers/API/queries/flows/use-get-refresh-flows-query.ts new file mode 100644 index 000000000..604172569 --- /dev/null +++ b/src/frontend/src/controllers/API/queries/flows/use-get-refresh-flows-query.ts @@ -0,0 +1,91 @@ +import buildQueryStringUrl from "@/controllers/utils/create-query-param-string"; +import useAlertStore from "@/stores/alertStore"; +import useFlowsManagerStore from "@/stores/flowsManagerStore"; +import { useTypesStore } from "@/stores/typesStore"; +import { useQueryFunctionType } from "@/types/api"; +import { FlowType, PaginatedFlowsType } from "@/types/flow"; +import { + extractFieldsFromComponenents, + processFlows, +} from "@/utils/reactflowUtils"; +import { UseQueryOptions } from "@tanstack/react-query"; +import { api } from "../../api"; +import { getURL } from "../../helpers/constants"; +import { UseRequestProcessor } from "../../services/request-processor"; + +interface GetFlowsParams { + components_only?: boolean; + get_all?: boolean; + header_flows?: boolean; + folder_id?: string; + remove_example_flows?: boolean; + page?: number; + size?: number; +} + +const addQueryParams = (url: string, params: GetFlowsParams): string => { + return buildQueryStringUrl(url, params); +}; + +export const useGetRefreshFlowsQuery: useQueryFunctionType< + GetFlowsParams, + FlowType[] | PaginatedFlowsType +> = (params, options) => { + const { query } = UseRequestProcessor(); + const setFlows = useFlowsManagerStore((state) => state.setFlows); + const setErrorData = useAlertStore((state) => state.setErrorData); + + const getFlowsFn = async ( + params: GetFlowsParams, + ): Promise => { + try { + const url = addQueryParams(`${getURL("FLOWS")}/`, params); + const { data: dbDataFlows } = await api.get(url); + + if (params.components_only) { + return dbDataFlows; + } + + const { data: dbDataComponents } = await api.get( + addQueryParams(`${getURL("FLOWS")}/`, { + components_only: true, + get_all: true, + }), + ); + + if (dbDataComponents) { + const { data } = processFlows(dbDataComponents); + useTypesStore.setState((state) => ({ + data: { ...state.data, ["saved_components"]: data }, + ComponentFields: extractFieldsFromComponenents({ + ...state.data, + ["saved_components"]: data, + }), + })); + } + + if (dbDataFlows) { + const flows = Array.isArray(dbDataFlows) + ? dbDataFlows + : (dbDataFlows as { items: FlowType[] }).items; + setFlows(flows); + return flows; + } + + return []; + } catch (e) { + setErrorData({ + title: "Could not load flows from database", + }); + throw e; + } + }; + + const queryResult = query( + ["useGetRefreshFlowsQuery", params], + () => getFlowsFn(params || {}), + options as UseQueryOptions, + ); + + return queryResult; +}; diff --git a/src/frontend/src/controllers/API/queries/flows/use-post-add-flow.ts b/src/frontend/src/controllers/API/queries/flows/use-post-add-flow.ts index 299cb7083..ff8d17b89 100644 --- a/src/frontend/src/controllers/API/queries/flows/use-post-add-flow.ts +++ b/src/frontend/src/controllers/API/queries/flows/use-post-add-flow.ts @@ -35,7 +35,6 @@ export const usePostAddFlow: useMutationFunctionType< gradient: payload.gradient || null, endpoint_name: payload.endpoint_name || null, }); - return response.data; }; @@ -45,9 +44,18 @@ export const usePostAddFlow: useMutationFunctionType< { ...options, onSettled: (response) => { - queryClient.refetchQueries({ - queryKey: ["useGetFolder", response.folder_id ?? myCollectionId], - }); + if (response) { + queryClient.refetchQueries({ + queryKey: [ + "useGetRefreshFlowsQuery", + { get_all: true, header_flows: true }, + ], + }); + + queryClient.refetchQueries({ + queryKey: ["useGetFolder", response.folder_id ?? myCollectionId], + }); + } }, }, ); diff --git a/src/frontend/src/controllers/API/queries/folders/use-get-folders.ts b/src/frontend/src/controllers/API/queries/folders/use-get-folders.ts index 0c554c302..f5d7ad32f 100644 --- a/src/frontend/src/controllers/API/queries/folders/use-get-folders.ts +++ b/src/frontend/src/controllers/API/queries/folders/use-get-folders.ts @@ -2,19 +2,16 @@ import { DEFAULT_FOLDER } from "@/constants/constants"; import { FolderType } from "@/pages/MainPage/entities"; import useAuthStore from "@/stores/authStore"; import { useFolderStore } from "@/stores/foldersStore"; -import { useTypesStore } from "@/stores/typesStore"; import { useQueryFunctionType } from "@/types/api"; import { api } from "../../api"; import { getURL } from "../../helpers/constants"; import { UseRequestProcessor } from "../../services/request-processor"; -import { useGetRefreshFlows } from "../flows/use-get-refresh-flows"; export const useGetFoldersQuery: useQueryFunctionType< undefined, FolderType[] > = (options) => { const { query } = UseRequestProcessor(); - const { mutateAsync: refreshFlows } = useGetRefreshFlows(); const setMyCollectionId = useFolderStore((state) => state.setMyCollectionId); const setFolders = useFolderStore((state) => state.setFolders); @@ -29,9 +26,6 @@ export const useGetFoldersQuery: useQueryFunctionType< const myCollectionId = data?.find((f) => f.name === DEFAULT_FOLDER)?.id; setMyCollectionId(myCollectionId); setFolders(data); - const { types } = useTypesStore.getState(); - - await refreshFlows({ get_all: true, header_flows: true }); return data; }; diff --git a/src/frontend/src/hooks/flows/use-add-flow.ts b/src/frontend/src/hooks/flows/use-add-flow.ts index 9fa303d7a..2d34ddc36 100644 --- a/src/frontend/src/hooks/flows/use-add-flow.ts +++ b/src/frontend/src/hooks/flows/use-add-flow.ts @@ -36,7 +36,6 @@ const useAddFlow = () => { const myCollectionId = useFolderStore((state) => state.myCollectionId); const { mutate: postAddFlow } = usePostAddFlow(); - const { mutate: refreshFlows } = useGetRefreshFlows(); const addFlow = async (params?: { flow?: FlowType; @@ -57,8 +56,6 @@ const useAddFlow = () => { ); }); // Create a new flow with a default name if no flow is provided. - const folder_id = folderId ?? myCollectionId ?? ""; - if (params?.override && flow) { const flowId = flows?.find((f) => f.name === flow.name); if (flowId) { @@ -66,12 +63,11 @@ const useAddFlow = () => { } } + const folder_id = folderId ?? myCollectionId ?? ""; const flowsToCheckNames = flows?.filter( (f) => f.folder_id === myCollectionId, ); - const newFlow = createNewFlow(flowData!, folder_id, flow); - const newName = addVersionToDuplicates(newFlow, flowsToCheckNames ?? []); newFlow.name = newName; newFlow.folder_id = folder_id; @@ -92,11 +88,6 @@ const useAddFlow = () => { }), })); - refreshFlows({ - get_all: true, - header_flows: true, - }); - setFlowToCanvas(createdFlow); resolve(createdFlow.id); }, diff --git a/src/frontend/src/hooks/flows/use-upload-flow.ts b/src/frontend/src/hooks/flows/use-upload-flow.ts index 83939c50c..b31f39f39 100644 --- a/src/frontend/src/hooks/flows/use-upload-flow.ts +++ b/src/frontend/src/hooks/flows/use-upload-flow.ts @@ -90,7 +90,6 @@ const useUploadFlow = () => { throw new Error("Invalid flow data"); } } - await refreshFlows({ get_all: true, header_flows: true }); } } catch (e) { throw e; diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index c0d480687..fe491cd75 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -1,16 +1,13 @@ import { SidebarProvider } from "@/components/ui/sidebar"; import { useGetFlow } from "@/controllers/API/queries/flows/use-get-flow"; -import { useGetRefreshFlows } from "@/controllers/API/queries/flows/use-get-refresh-flows"; import { useCustomNavigate } from "@/customization/hooks/use-custom-navigate"; import useSaveFlow from "@/hooks/flows/use-save-flow"; import { useIsMobile } from "@/hooks/use-mobile"; import { SaveChangesModal } from "@/modals/saveChangesModal"; import useAlertStore from "@/stores/alertStore"; -import { useTypesStore } from "@/stores/typesStore"; import { customStringify } from "@/utils/reactflowUtils"; import { useEffect } from "react"; import { useBlocker, useParams } from "react-router-dom"; -import { useDarkStore } from "../../stores/darkStore"; import useFlowStore from "../../stores/flowStore"; import useFlowsManagerStore from "../../stores/flowsManagerStore"; import Page from "./components/PageComponent"; @@ -29,7 +26,6 @@ export default function FlowPage({ view }: { view?: boolean }): JSX.Element { const isBuilding = useFlowStore((state) => state.isBuilding); const blocker = useBlocker(changesNotSaved || isBuilding); - const version = useDarkStore((state) => state.version); const setOnFlowPage = useFlowStore((state) => state.setOnFlowPage); const { id } = useParams(); const navigate = useCustomNavigate(); @@ -40,10 +36,6 @@ export default function FlowPage({ view }: { view?: boolean }): JSX.Element { const flowToCanvas = useFlowsManagerStore((state) => state.flowToCanvas); - const { mutateAsync: refreshFlows } = useGetRefreshFlows(); - const setIsLoading = useFlowsManagerStore((state) => state.setIsLoading); - const types = useTypesStore((state) => state.types); - const updatedAt = currentSavedFlow?.updated_at; const autoSaving = useFlowsManagerStore((state) => state.autoSaving); const stopBuilding = useFlowStore((state) => state.stopBuilding); @@ -114,10 +106,6 @@ export default function FlowPage({ view }: { view?: boolean }): JSX.Element { flowToCanvas ? setCurrentFlow(flowToCanvas) : getFlowToAddToCanvas(isAnExistingFlowId); - } else if (!flows) { - setIsLoading(true); - await refreshFlows({ get_all: true, header_flows: true }); - setIsLoading(false); } }; awaitgetTypes(); diff --git a/src/frontend/src/pages/MainPage/components/dropdown/index.tsx b/src/frontend/src/pages/MainPage/components/dropdown/index.tsx index 60592c57d..18df53ad8 100644 --- a/src/frontend/src/pages/MainPage/components/dropdown/index.tsx +++ b/src/frontend/src/pages/MainPage/components/dropdown/index.tsx @@ -3,8 +3,8 @@ import { DropdownMenuItem } from "@/components/ui/dropdown-menu"; import useAlertStore from "@/stores/alertStore"; import { FlowType } from "@/types/flow"; import { downloadFlow } from "@/utils/reactflowUtils"; -import useDuplicateFlows from "../../oldComponents/componentsComponent/hooks/use-handle-duplicate"; -import useSelectOptionsChange from "../../oldComponents/componentsComponent/hooks/use-select-options-change"; +import useDuplicateFlows from "../../hooks/use-handle-duplicate"; +import useSelectOptionsChange from "../../hooks/use-select-options-change"; type DropdownComponentProps = { flowData: FlowType; @@ -15,20 +15,15 @@ type DropdownComponentProps = { const DropdownComponent = ({ flowData, setOpenDelete, - handlePlaygroundClick, }: DropdownComponentProps) => { const setSuccessData = useAlertStore((state) => state.setSuccessData); const setErrorData = useAlertStore((state) => state.setErrorData); - const { handleDuplicate } = useDuplicateFlows( - [flowData.id], - [flowData], - () => {}, + const { handleDuplicate } = useDuplicateFlows({ + selectedFlowsComponentsCards: [flowData.id], + allFlows: [flowData], setSuccessData, - () => {}, - () => {}, - "flow", - ); + }); const handleExport = () => { downloadFlow(flowData, flowData.name, flowData.description); @@ -45,30 +40,6 @@ const DropdownComponent = ({ return ( <> - {/* {}} className="cursor-pointer"> - */} - {/* {handlePlaygroundClick && ( - { - e.stopPropagation(); - handlePlaygroundClick(); - }} - className="cursor-pointer sm:hidden" - > - - )} */} { e.stopPropagation(); diff --git a/src/frontend/src/pages/MainPage/components/grid/index.tsx b/src/frontend/src/pages/MainPage/components/grid/index.tsx index d8d8d56b9..0f6c5fc48 100644 --- a/src/frontend/src/pages/MainPage/components/grid/index.tsx +++ b/src/frontend/src/pages/MainPage/components/grid/index.tsx @@ -18,21 +18,19 @@ import { swatchColors } from "@/utils/styleUtils"; import { cn, getNumberFromString } from "@/utils/utils"; import { useState } from "react"; import { useParams } from "react-router-dom"; -import useDescriptionModal from "../../oldComponents/componentsComponent/hooks/use-description-modal"; +import useDescriptionModal from "../../hooks/use-description-modal"; import { useGetTemplateStyle } from "../../utils/get-template-style"; import { timeElapsed } from "../../utils/time-elapse"; import DropdownComponent from "../dropdown"; const GridComponent = ({ flowData }: { flowData: FlowType }) => { const navigate = useCustomNavigate(); - /* const [openPlayground, setOpenPlayground] = useState(false); - const [loadingPlayground, setLoadingPlayground] = useState(false); */ + const [openDelete, setOpenDelete] = useState(false); const setSuccessData = useAlertStore((state) => state.setSuccessData); const { deleteFlow } = useDeleteFlow(); const setErrorData = useAlertStore((state) => state.setErrorData); - /* const setCurrentFlow = useFlowsManagerStore((state) => state.setCurrentFlow); */ const { folderId } = useParams(); const isComponent = flowData.is_component ?? false; const setFlowToCanvas = useFlowsManagerStore( @@ -43,38 +41,6 @@ const GridComponent = ({ flowData }: { flowData: FlowType }) => { const editFlowLink = `/flow/${flowData.id}${folderId ? `/folder/${folderId}` : ""}`; - function hasPlayground(flow?: FlowType) { - if (!flow) { - return false; - } - const { inputs, outputs } = getInputsAndOutputs(flow?.data?.nodes ?? []); - return inputs.length > 0 || outputs.length > 0; - } - - /* const handlePlaygroundClick = () => { - track("Playground Button Clicked", { flowId: flowData.id }); - setLoadingPlayground(true); - - if (flowData) { - if (!hasPlayground(flowData)) { - setErrorData({ - title: "Error", - list: ["This flow doesn't have a playground."], - }); - setLoadingPlayground(false); - return; - } - setCurrentFlow(flowData); - // setOpenPlayground(true); - setLoadingPlayground(false); - } else { - setErrorData({ - title: "Error", - list: ["Error getting flow data."], - }); - } - }; */ - const handleClick = async () => { if (!isComponent) { await setFlowToCanvas(flowData); @@ -167,35 +133,8 @@ const GridComponent = ({ flowData }: { flowData: FlowType }) => {
{flowData.description}
- - {/*
- {flowData.is_component ? ( - <> - ) : ( - - )} -
*/} - {/* {openPlayground && ( - - <> - - )} */} + {openDelete && ( { const navigate = useCustomNavigate(); - /* const [openPlayground, setOpenPlayground] = useState(false); - const [loadingPlayground, setLoadingPlayground] = useState(false); */ + const [openDelete, setOpenDelete] = useState(false); const setSuccessData = useAlertStore((state) => state.setSuccessData); const { deleteFlow } = useDeleteFlow(); const setErrorData = useAlertStore((state) => state.setErrorData); - /* const setCurrentFlow = useFlowsManagerStore((state) => state.setCurrentFlow); */ const { folderId } = useParams(); const isComponent = flowData.is_component ?? false; const setFlowToCanvas = useFlowsManagerStore( @@ -40,38 +38,6 @@ const ListComponent = ({ flowData }: { flowData: FlowType }) => { const editFlowLink = `/flow/${flowData.id}${folderId ? `/folder/${folderId}` : ""}`; - /* function hasPlayground(flow?: FlowType) { - if (!flow) { - return false; - } - const { inputs, outputs } = getInputsAndOutputs(flow?.data?.nodes ?? []); - return inputs.length > 0 || outputs.length > 0; - } */ - - /* const handlePlaygroundClick = () => { - track("Playground Button Clicked", { flowId: flowData.id }); - setLoadingPlayground(true); - - if (flowData) { - if (!hasPlayground(flowData)) { - setErrorData({ - title: "Error", - list: ["This flow doesn't have a playground."], - }); - setLoadingPlayground(false); - return; - } - setCurrentFlow(flowData); - setOpenPlayground(true); - setLoadingPlayground(false); - } else { - setErrorData({ - title: "Error", - list: ["Error getting flow data."], - }); - } - }; */ - const handleClick = async () => { if (!isComponent) { await setFlowToCanvas(flowData); @@ -155,22 +121,6 @@ const ListComponent = ({ flowData }: { flowData: FlowType }) => { {/* right side */}
- {/* {flowData.is_component ? ( - <> - ) : ( - - )} */}
- {/* {openPlayground && ( - - <> - - )} */} + {openDelete && ( void; +}; + +const useDuplicateFlows = ({ + selectedFlowsComponentsCards, + allFlows, + setSuccessData, +}: UseDuplicateFlowsParams) => { + const { mutateAsync: postAddFlow } = usePostAddFlow(); + const { folderId } = useParams(); + const myCollectionId = useFolderStore((state) => state.myCollectionId); + + const handleDuplicate = async () => { + selectedFlowsComponentsCards.map(async (selectedFlow) => { + const currentFlow = allFlows.find((flow) => flow.id === selectedFlow); + const folder_id = folderId ?? myCollectionId ?? ""; + + const flowsToCheckNames = allFlows?.filter( + (f) => f.folder_id === folder_id, + ); + + const newFlow = createNewFlow(currentFlow.data, folder_id, currentFlow); + + const newName = addVersionToDuplicates(newFlow, flowsToCheckNames ?? []); + newFlow.name = newName; + newFlow.folder_id = folder_id; + + await postAddFlow(newFlow); + setSuccessData({ + title: `${newFlow.is_component ? "Component" : "Flow"} duplicated successfully`, + }); + }); + }; + + return { handleDuplicate }; +}; + +export default useDuplicateFlows; diff --git a/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-handle-select-all.tsx b/src/frontend/src/pages/MainPage/hooks/use-handle-select-all.tsx similarity index 93% rename from src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-handle-select-all.tsx rename to src/frontend/src/pages/MainPage/hooks/use-handle-select-all.tsx index 4961c73e9..5bd7f95c8 100644 --- a/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-handle-select-all.tsx +++ b/src/frontend/src/pages/MainPage/hooks/use-handle-select-all.tsx @@ -1,5 +1,5 @@ import { useCallback } from "react"; -import { FlowType } from "../../../../../types/flow"; +import { FlowType } from "../../../types/flow"; const useSelectAll = ( flowsFromFolder: FlowType[], diff --git a/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-select-options-change.tsx b/src/frontend/src/pages/MainPage/hooks/use-select-options-change.tsx similarity index 100% rename from src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-select-options-change.tsx rename to src/frontend/src/pages/MainPage/hooks/use-select-options-change.tsx diff --git a/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-selected-flows.tsx b/src/frontend/src/pages/MainPage/hooks/use-selected-flows.tsx similarity index 100% rename from src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-selected-flows.tsx rename to src/frontend/src/pages/MainPage/hooks/use-selected-flows.tsx diff --git a/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-handle-duplicate.tsx b/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-handle-duplicate.tsx deleted file mode 100644 index fb4641928..000000000 --- a/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/hooks/use-handle-duplicate.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import useAddFlow from "@/hooks/flows/use-add-flow"; -import { useCallback } from "react"; - -const useDuplicateFlows = ( - selectedFlowsComponentsCards: string[], - allFlows: any[], - resetFilter: () => void, - setSuccessData: (data: { title: string }) => void, - setSelectedFlowsComponentsCards: ( - selectedFlowsComponentsCards: string[], - ) => void, - handleSelectAll: (select: boolean) => void, - cardTypes: string, -) => { - const addFlow = useAddFlow(); - const handleDuplicate = useCallback(() => { - Promise.all( - selectedFlowsComponentsCards.map((selectedFlow) => - addFlow({ flow: allFlows.find((flow) => flow.id === selectedFlow) }), - ), - ).then(() => { - resetFilter(); - setSuccessData({ title: `${cardTypes} duplicated successfully` }); - setSelectedFlowsComponentsCards([]); - handleSelectAll(false); - }); - }, [ - selectedFlowsComponentsCards, - addFlow, - allFlows, - resetFilter, - setSuccessData, - setSelectedFlowsComponentsCards, - handleSelectAll, - cardTypes, - ]); - - return { handleDuplicate }; -}; - -export default useDuplicateFlows; diff --git a/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/index.tsx b/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/index.tsx index 1ceacf3ea..686c71d18 100644 --- a/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/index.tsx +++ b/src/frontend/src/pages/MainPage/oldComponents/componentsComponent/index.tsx @@ -16,15 +16,14 @@ import { FlowType } from "../../../../types/flow"; import useFileDrop from "../../hooks/use-on-file-drop"; import { getNameByType } from "../../utils/get-name-by-type"; +import useDescriptionModal from "../../hooks/use-description-modal"; +import useFilteredFlows from "../../hooks/use-filtered-flows"; +import useSelectAll from "../../hooks/use-handle-select-all"; +import useSelectOptionsChange from "../../hooks/use-select-options-change"; +import useSelectedFlows from "../../hooks/use-selected-flows"; import EmptyComponent from "../emptyComponent"; import HeaderComponent from "../headerComponent"; import CollectionCard from "./components/collectionCard"; -import useDescriptionModal from "./hooks/use-description-modal"; -import useFilteredFlows from "./hooks/use-filtered-flows"; -import useDuplicateFlows from "./hooks/use-handle-duplicate"; -import useSelectAll from "./hooks/use-handle-select-all"; -import useSelectOptionsChange from "./hooks/use-select-options-change"; -import useSelectedFlows from "./hooks/use-selected-flows"; export default function ComponentsComponent({ type = "all", @@ -106,15 +105,7 @@ export default function ComponentsComponent({ setValue, ); - const { handleDuplicate } = useDuplicateFlows( - selectedFlowsComponentsCards, - flowsFromFolder, - resetFilter, - setSuccessData, - setSelectedFlowsComponentsCards, - handleSelectAll, - cardTypes, - ); + const handleDuplicate = () => {}; const { mutate: mutateDownloadMultipleFlows } = usePostDownloadMultipleFlows(); diff --git a/src/frontend/src/pages/ViewPage/index.tsx b/src/frontend/src/pages/ViewPage/index.tsx index 7e58eb1f8..79de3ecf1 100644 --- a/src/frontend/src/pages/ViewPage/index.tsx +++ b/src/frontend/src/pages/ViewPage/index.tsx @@ -14,9 +14,6 @@ export default function ViewPage() { const flows = useFlowsManagerStore((state) => state.flows); const currentFlowId = useFlowsManagerStore((state) => state.currentFlowId); - const { mutateAsync: refreshFlows } = useGetRefreshFlows(); - const setIsLoading = useFlowsManagerStore((state) => state.setIsLoading); - const types = useTypesStore((state) => state.types); // Set flow tab id useEffect(() => { @@ -30,10 +27,6 @@ export default function ViewPage() { } setCurrentFlow(isAnExistingFlow); - } else if (!flows) { - setIsLoading(true); - await refreshFlows({ get_all: true, header_flows: true }); - setIsLoading(false); } }; awaitgetTypes();