From 8db1250487c7c97f2fa09ebaa183c2cba4cb5a58 Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Mon, 6 Jul 2026 03:27:52 -0600 Subject: [PATCH 1/4] fix(ui): improve select component behavior and styling across various providers - Added a check to prevent empty values from being processed in the onValueChange handler for Bitbucket, Gitea, GitHub, and GitLab providers. - Removed unnecessary defaultValue prop from Select components to streamline the code. - Updated button styles to remove background color for better consistency across the UI. - Enhanced volume backup selection to display a message when no volumes are found. This update enhances user experience by ensuring that empty selections are handled gracefully and improves the overall visual consistency of the UI components. --- .../generic/save-bitbucket-provider.tsx | 8 +- .../general/generic/save-gitea-provider.tsx | 8 +- .../general/generic/save-github-provider.tsx | 22 ++- .../general/generic/save-gitlab-provider.tsx | 8 +- .../schedules/handle-schedules.tsx | 2 +- .../volume-backups/handle-volume-backups.tsx | 14 +- .../volume-backups/restore-volume-backups.tsx | 4 +- .../save-bitbucket-provider-compose.tsx | 8 +- .../generic/save-gitea-provider-compose.tsx | 8 +- .../generic/save-github-provider-compose.tsx | 16 ++- .../generic/save-gitlab-provider-compose.tsx | 8 +- .../database/backups/handle-backup.tsx | 2 +- .../database/backups/restore-backup.tsx | 4 +- .../organization/handle-organization.tsx | 3 +- apps/dokploy/components/ui/dialog.tsx | 17 +++ apps/dokploy/components/ui/dropdown-menu.tsx | 15 +- .../components/ui/nested-popup-context.ts | 9 ++ apps/dokploy/components/ui/popover.tsx | 15 +- apps/dokploy/components/ui/select.tsx | 2 +- .../environment/[environmentId].tsx | 2 +- apps/dokploy/server/api/routers/backup.ts | 18 +++ .../dokploy/server/api/routers/environment.ts | 40 ++---- .../server/api/routers/organization.ts | 13 ++ apps/dokploy/server/api/routers/schedule.ts | 16 +++ apps/dokploy/server/api/routers/stripe.ts | 40 +----- .../server/api/routers/volume-backups.ts | 32 +++-- apps/dokploy/server/api/utils/plan-limits.ts | 130 ++++++++++++++++++ apps/dokploy/server/utils/billing.ts | 69 ++++++++++ packages/server/src/services/environment.ts | 42 ++++++ 29 files changed, 451 insertions(+), 124 deletions(-) create mode 100644 apps/dokploy/components/ui/nested-popup-context.ts create mode 100644 apps/dokploy/server/api/utils/plan-limits.ts create mode 100644 apps/dokploy/server/utils/billing.ts diff --git a/apps/dokploy/components/dashboard/application/general/generic/save-bitbucket-provider.tsx b/apps/dokploy/components/dashboard/application/general/generic/save-bitbucket-provider.tsx index 3a396b770..2b0ae3f62 100644 --- a/apps/dokploy/components/dashboard/application/general/generic/save-bitbucket-provider.tsx +++ b/apps/dokploy/components/dashboard/application/general/generic/save-bitbucket-provider.tsx @@ -188,6 +188,9 @@ export const SaveBitbucketProvider = ({ applicationId }: Props) => { Bitbucket Account { + if (!value) { + return; + } field.onChange(value); form.setValue("repository", { owner: "", @@ -208,7 +211,6 @@ export const SaveGiteaProvider = ({ applicationId }: Props) => { }); form.setValue("branch", ""); }} - defaultValue={field.value} value={field.value} > @@ -258,7 +260,7 @@ export const SaveGiteaProvider = ({ applicationId }: Props) => { @@ -82,7 +82,7 @@ export const ShowNodeApplications = ({ serverId }: Props) => { return ( - diff --git a/apps/dokploy/components/dashboard/swarm/details/details-card.tsx b/apps/dokploy/components/dashboard/swarm/details/details-card.tsx index a783a52e1..f0dd1d36c 100644 --- a/apps/dokploy/components/dashboard/swarm/details/details-card.tsx +++ b/apps/dokploy/components/dashboard/swarm/details/details-card.tsx @@ -110,7 +110,7 @@ export function NodeCard({ node, serverId }: Props) { -
+
diff --git a/apps/dokploy/components/dashboard/swarm/details/show-node-config.tsx b/apps/dokploy/components/dashboard/swarm/details/show-node-config.tsx index a535d13c7..afed238a3 100644 --- a/apps/dokploy/components/dashboard/swarm/details/show-node-config.tsx +++ b/apps/dokploy/components/dashboard/swarm/details/show-node-config.tsx @@ -24,7 +24,7 @@ export const ShowNodeConfig = ({ nodeId, serverId }: Props) => { return ( -