diff --git a/web/features/deployments/detail/access-tab/api-keys.tsx b/web/features/deployments/detail/access-tab/api-keys.tsx index 685593bdc7..ccec746906 100644 --- a/web/features/deployments/detail/access-tab/api-keys.tsx +++ b/web/features/deployments/detail/access-tab/api-keys.tsx @@ -9,11 +9,9 @@ import { DropdownMenuTrigger, } from '@langgenius/dify-ui/dropdown-menu' import { useMutation } from '@tanstack/react-query' -import { useSetAtom } from 'jotai' import { useState } from 'react' import { useTranslation } from 'react-i18next' import { consoleQuery } from '@/service/client' -import { createdDeveloperApiTokenAtom } from '../../store' import { environmentName } from '../../utils' function ApiKeyRow({ appInstanceId, apiKey }: { @@ -79,14 +77,14 @@ export function ApiKeyList({ appInstanceId, apiKeys }: { ) } -export function ApiKeyGenerateMenu({ appInstanceId, environments, apiKeys }: { +export function ApiKeyGenerateMenu({ appInstanceId, environments, apiKeys, onCreatedToken }: { appInstanceId: string environments: ConsoleEnvironment[] apiKeys: DeveloperApiKeyRow[] + onCreatedToken: (token: string) => void }) { const { t } = useTranslation('deployments') const [open, setOpen] = useState(false) - const setCreatedApiToken = useSetAtom(createdDeveloperApiTokenAtom) const generateApiKey = useMutation(consoleQuery.enterprise.appDeploy.createDeveloperApiKey.mutationOptions()) const selectableEnvironments = environments.filter(env => env.id) const disabled = selectableEnvironments.length === 0 @@ -114,7 +112,7 @@ export function ApiKeyGenerateMenu({ appInstanceId, environments, apiKeys }: { { onSuccess: (response) => { if (response.token) - setCreatedApiToken({ appInstanceId, token: response.token }) + onCreatedToken(response.token) }, }, ) diff --git a/web/features/deployments/detail/access-tab/developer-api-section.tsx b/web/features/deployments/detail/access-tab/developer-api-section.tsx index ee4409b7b8..2c0e8e4471 100644 --- a/web/features/deployments/detail/access-tab/developer-api-section.tsx +++ b/web/features/deployments/detail/access-tab/developer-api-section.tsx @@ -6,10 +6,9 @@ import type { } from '@dify/contracts/enterprise/types.gen' import { Switch } from '@langgenius/dify-ui/switch' import { useMutation, useQuery } from '@tanstack/react-query' -import { useAtomValue, useSetAtom } from 'jotai' +import { useState } from 'react' import { useTranslation } from 'react-i18next' import { consoleQuery } from '@/service/client' -import { createdDeveloperApiTokenAtom } from '../../store' import { Section } from '../common' import { ApiKeyGenerateMenu, ApiKeyList } from './api-keys' import { CopyPill } from './common' @@ -18,6 +17,11 @@ type DeveloperApiSectionProps = { appInstanceId: string } +type CreatedApiToken = { + appInstanceId: string + token: string +} + function permissionEnvironment(row: EnvironmentAccessRow): ConsoleEnvironment | undefined { return row.environment?.id ? row.environment : undefined } @@ -41,18 +45,11 @@ function DeveloperApiSwitch({ appInstanceId, checked }: { ) } -function CreatedApiTokenCard({ appInstanceId }: { - appInstanceId: string +function CreatedApiTokenCard({ token, onDismiss }: { + token: string + onDismiss: () => void }) { const { t } = useTranslation('deployments') - const createdApiToken = useAtomValue(createdDeveloperApiTokenAtom) - const setCreatedApiToken = useSetAtom(createdDeveloperApiTokenAtom) - const visibleCreatedApiToken = createdApiToken?.appInstanceId === appInstanceId - ? createdApiToken.token - : undefined - - if (!visibleCreatedApiToken) - return null return (
@@ -67,7 +64,7 @@ function CreatedApiTokenCard({ appInstanceId }: {