diff --git a/apps/dokploy/components/dashboard/compose/general/generic/show.tsx b/apps/dokploy/components/dashboard/compose/general/generic/show.tsx index 939befac..2ac879e8 100644 --- a/apps/dokploy/components/dashboard/compose/general/generic/show.tsx +++ b/apps/dokploy/components/dashboard/compose/general/generic/show.tsx @@ -19,7 +19,7 @@ import { SaveGiteaProviderCompose } from "./save-gitea-provider-compose"; import { SaveGithubProviderCompose } from "./save-github-provider-compose"; import { SaveGitlabProviderCompose } from "./save-gitlab-provider-compose"; -type TabState = "github" | "git" | "raw" | "gitlab" | "bitbucket" | "gitea"; // Adding gitea to the TabState +type TabState = "github" | "git" | "raw" | "gitlab" | "bitbucket" | "gitea"; interface Props { composeId: string; } @@ -29,56 +29,11 @@ export const ShowProviderFormCompose = ({ composeId }: Props) => { const { data: gitlabProviders } = api.gitlab.gitlabProviders.useQuery(); const { data: bitbucketProviders } = api.bitbucket.bitbucketProviders.useQuery(); - const { data: giteaProviders } = api.gitea.giteaProviders.useQuery(); // Fetching Gitea providers + const { data: giteaProviders } = api.gitea.giteaProviders.useQuery(); const { data: compose } = api.compose.one.useQuery({ composeId }); const [tab, setSab] = useState(compose?.sourceType || "github"); - // Ensure we fall back to empty arrays if the data is undefined - const safeGithubProviders = githubProviders || []; - const safeGitlabProviders = gitlabProviders || []; - const safeBitbucketProviders = bitbucketProviders || []; - const safeGiteaProviders = giteaProviders || []; - - const renderProviderContent = ( - providers: any[], - providerType: string, - ProviderComponent: React.ComponentType, - ) => { - if (providers.length > 0) { - return ; - } - - return ( -
- {providerType === "github" && ( - - )} - {providerType === "gitlab" && ( - - )} - {providerType === "bitbucket" && ( - - )} - {providerType === "gitea" && ( - - )} - - To deploy using{" "} - {providerType.charAt(0).toUpperCase() + providerType.slice(1)}, you - need to configure your account first. Please, go to{" "} - - Settings - {" "} - to do so. - -
- ); - }; - return ( @@ -127,7 +82,7 @@ export const ShowProviderFormCompose = ({ composeId }: Props) => { Bitbucket Gitea @@ -150,31 +105,83 @@ export const ShowProviderFormCompose = ({ composeId }: Props) => { - {renderProviderContent( - safeGithubProviders, - "github", - SaveGithubProviderCompose, - )} - - - {renderProviderContent( - safeGiteaProviders, - "gitea", - SaveGiteaProviderCompose, + {githubProviders && githubProviders?.length > 0 ? ( + + ) : ( +
+ + + To deploy using GitHub, you need to configure your account + first. Please, go to{" "} + + Settings + {" "} + to do so. + +
)}
- {renderProviderContent( - safeGitlabProviders, - "gitlab", - SaveGitlabProviderCompose, + {gitlabProviders && gitlabProviders?.length > 0 ? ( + + ) : ( +
+ + + To deploy using GitLab, you need to configure your account + first. Please, go to{" "} + + Settings + {" "} + to do so. + +
)}
- {renderProviderContent( - safeBitbucketProviders, - "bitbucket", - SaveBitbucketProviderCompose, + {bitbucketProviders && bitbucketProviders?.length > 0 ? ( + + ) : ( +
+ + + To deploy using Bitbucket, you need to configure your account + first. Please, go to{" "} + + Settings + {" "} + to do so. + +
+ )} +
+ + {giteaProviders && giteaProviders?.length > 0 ? ( + + ) : ( +
+ + + To deploy using Gitea, you need to configure your account + first. Please, go to{" "} + + Settings + {" "} + to do so. + +
)}