diff --git a/apps/dokploy/components/dashboard/application/deployments/show-deployments.tsx b/apps/dokploy/components/dashboard/application/deployments/show-deployments.tsx index a0f28dbba..5686671f3 100644 --- a/apps/dokploy/components/dashboard/application/deployments/show-deployments.tsx +++ b/apps/dokploy/components/dashboard/application/deployments/show-deployments.tsx @@ -184,33 +184,37 @@ export const ShowDeployments = ({ View - {deployment?.rollback && ( - { - await rollback({ - rollbackId: deployment.rollback.rollbackId, - }) - .then(() => { - toast.success("Rollback initiated successfully"); + {deployment?.rollback && + deployment.status === "done" && + type === "application" && ( + { + await rollback({ + rollbackId: deployment.rollback.rollbackId, }) - .catch(() => { - toast.error("Error initiating rollback"); - }); - }} - > - - - )} + + + )} diff --git a/apps/dokploy/components/dashboard/application/rollbacks/show-rollbacks.tsx b/apps/dokploy/components/dashboard/application/rollbacks/show-rollbacks.tsx deleted file mode 100644 index 514d7ebca..000000000 --- a/apps/dokploy/components/dashboard/application/rollbacks/show-rollbacks.tsx +++ /dev/null @@ -1,225 +0,0 @@ -import { api } from "@/utils/api"; -import { - Loader2, - RefreshCcw, - Settings, - ArrowDownToLine, - CalendarClock, - Box, - Trash2, -} from "lucide-react"; -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/components/ui/card"; -import { Button } from "@/components/ui/button"; -import { ShowRollbackSettings } from "./show-rollback-settings"; -import { ShowEnv } from "./show-env"; -import { format } from "date-fns"; -import { DialogAction } from "@/components/shared/dialog-action"; -import { toast } from "sonner"; - -interface Props { - applicationId: string; -} - -export const ShowRollbacks = ({ applicationId }: Props) => { - const { data: application } = api.application.one.useQuery( - { - applicationId, - }, - { - enabled: !!applicationId, - }, - ); - const { data, isLoading, refetch } = api.rollback.all.useQuery( - { - applicationId, - }, - { - enabled: !!applicationId, - }, - ); - - const { mutateAsync: rollbackVersion, isLoading: isRollingBack } = - api.rollback.rollback.useMutation(); - - const { mutateAsync: deleteRollback, isLoading: isDeleting } = - api.rollback.delete.useMutation(); - - if (!application?.rollbackActive) { - return ( - - -
-
- - Rollbacks - - - Rollback to a previous deployment. - -
-
-
- -
- -

- Rollbacks Not Enabled -

-

- Enable rollbacks to keep track of previous deployments and roll - back when needed. -

- - - -
-
-
- ); - } - - return ( - - -
-
- - Rollbacks - - - Rollback to a previous deployment. - -
- - - -
-
- - {isLoading ? ( -
- - - Loading rollbacks... - -
- ) : data && data.length > 0 ? ( -
- {data.map((rollback) => { - return ( -
-
-
-
-
- -
-
-

- Version {rollback.version} -

-
-
- - - {format( - new Date(rollback.createdAt), - "MMM dd, yyyy HH:mm", - )} - -
- {rollback.image && ( -
- - - {rollback.image} - -
- )} -
-
-
- -
- - - { - await deleteRollback({ - rollbackId: rollback.rollbackId, - }) - .then(() => { - refetch(); - toast.success("Rollback deleted successfully"); - }) - .catch(() => { - toast.error("Error deleting rollback"); - }); - }} - > - - -
-
-
-
- ); - })} -
- ) : ( -
- -

- No rollbacks -

-

- No rollbacks found for this application. -

-
- )} -
-
- ); -}; diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 2c2cd8626..f9ab3bcfa 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -12,7 +12,6 @@ import { ShowEnvironment } from "@/components/dashboard/application/environment/ import { ShowGeneralApplication } from "@/components/dashboard/application/general/show"; import { ShowDockerLogs } from "@/components/dashboard/application/logs/show"; import { ShowPreviewDeployments } from "@/components/dashboard/application/preview-deployments/show-preview-deployments"; -import { ShowRollbacks } from "@/components/dashboard/application/rollbacks/show-rollbacks"; import { ShowSchedules } from "@/components/dashboard/application/schedules/show-schedules"; import { UpdateApplication } from "@/components/dashboard/application/update-application"; import { DeleteService } from "@/components/dashboard/compose/delete-service"; @@ -235,7 +234,6 @@ const Service = ( Preview Deployments Schedules - Rollbacks Deployments Logs {((data?.serverId && isCloud) || !data?.server) && ( @@ -312,11 +310,6 @@ const Service = ( /> - -
- -
-