From 0a6554c275b169bfc9777426117d7ac3ebb3acde Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 9 Feb 2025 03:06:18 -0600 Subject: [PATCH] refactor: add loading action --- apps/dokploy/pages/dashboard/project/[projectId].tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/dokploy/pages/dashboard/project/[projectId].tsx b/apps/dokploy/pages/dashboard/project/[projectId].tsx index 8c4aa4c5..26317ca9 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId].tsx @@ -198,6 +198,7 @@ export const extractServices = (data: Project | undefined) => { const Project = ( props: InferGetServerSidePropsType, ) => { + const [isBulkActionLoading, setIsBulkActionLoading] = useState(false); const { projectId } = props; const { data: auth } = api.auth.get.useQuery(); const { data: user } = api.user.byAuthId.useQuery( @@ -262,6 +263,7 @@ const Project = ( const handleBulkStart = async () => { let success = 0; + setIsBulkActionLoading(true); for (const serviceId of selectedServices) { try { await composeActions.start.mutateAsync({ composeId: serviceId }); @@ -274,12 +276,14 @@ const Project = ( toast.success(`${success} services started successfully`); refetch(); } + setIsBulkActionLoading(false); setSelectedServices([]); setIsDropdownOpen(false); }; const handleBulkStop = async () => { let success = 0; + setIsBulkActionLoading(true); for (const serviceId of selectedServices) { try { await composeActions.stop.mutateAsync({ composeId: serviceId }); @@ -294,6 +298,7 @@ const Project = ( } setSelectedServices([]); setIsDropdownOpen(false); + setIsBulkActionLoading(false); }; const filteredServices = useMemo(() => { @@ -405,6 +410,7 @@ const Project = (