From 24635dd0c14899b4a8729b61901293d505391687 Mon Sep 17 00:00:00 2001 From: Stephen Zhou <38493346+hyoban@users.noreply.github.com> Date: Wed, 6 May 2026 12:57:48 +0800 Subject: [PATCH] create release as dialog --- .../deployments/detail/versions-tab.tsx | 114 +++++++++++++----- web/i18n/en-US/deployments.json | 35 +++--- web/i18n/zh-Hans/deployments.json | 35 +++--- 3 files changed, 127 insertions(+), 57 deletions(-) diff --git a/web/features/deployments/detail/versions-tab.tsx b/web/features/deployments/detail/versions-tab.tsx index e570a62a98..149ac61c5e 100644 --- a/web/features/deployments/detail/versions-tab.tsx +++ b/web/features/deployments/detail/versions-tab.tsx @@ -2,12 +2,14 @@ import type { FC } from 'react' import { Button } from '@langgenius/dify-ui/button' import { cn } from '@langgenius/dify-ui/cn' +import { Dialog, DialogCloseButton, DialogContent, DialogDescription, DialogTitle } from '@langgenius/dify-ui/dialog' import { toast } from '@langgenius/dify-ui/toast' import { Tooltip, TooltipContent, TooltipTrigger } from '@langgenius/dify-ui/tooltip' import { useQuery } from '@tanstack/react-query' import { useMemo, useState } from 'react' import { useTranslation } from 'react-i18next' import Input from '@/app/components/base/input' +import Textarea from '@/app/components/base/textarea' import { useCreateDeploymentRelease } from '../hooks/use-deployment-mutations' import { deploymentEnvironmentDeploymentsQueryOptions, @@ -86,7 +88,7 @@ const VersionsTab: FC = ({ instanceId: appId }) => { size="small" variant="primary" disabled={!canCreateRelease} - onClick={() => setIsCreating(prev => !prev)} + onClick={() => setIsCreating(true)} > {t('versions.createRelease')} @@ -99,33 +101,91 @@ const VersionsTab: FC = ({ instanceId: appId }) => { )} - {isCreating && ( -
-
{t('versions.createRelease')}
-
- setReleaseName(e.target.value)} - placeholder={t('versions.releaseNamePlaceholder')} - maxLength={128} - /> - setReleaseDescription(e.target.value)} - placeholder={t('versions.releaseDescriptionPlaceholder')} - maxLength={512} - /> -
- - + + + +
{ + event.preventDefault() + void handleCreateRelease() + }} + > +
+
+ +
+
+ + {t('versions.createRelease')} + + + {t('versions.createReleaseDescription')} + +
-
-
- )} + +
+
+ + setReleaseName(e.target.value)} + placeholder={t('versions.releaseNamePlaceholder')} + maxLength={128} + autoFocus + className="h-9" + /> +
+ +
+
+ + + {t('versions.optional')} + +
+