Compare commits

...

3 Commits

Author SHA1 Message Date
yyh
83e07b46ed refactor(web): remove generated result React.FC 2026-08-09 15:48:02 +08:00
yyh
a214c48448 refactor(web): use css icon for generated result copy 2026-08-09 15:45:04 +08:00
yyh
e00847974a fix(web): name generated result copy action 2026-08-09 14:44:45 +08:00
2 changed files with 7 additions and 8 deletions

View File

@@ -83,7 +83,7 @@ describe('Result', () => {
expect(screen.getByTestId('prompt-res'))!.toHaveTextContent('generated output')
fireEvent.click(screen.getByTestId('version-selector'))
fireEvent.click(screen.getAllByRole('button')[1]!)
fireEvent.click(screen.getByRole('button', { name: 'common.operation.copy' }))
fireEvent.click(screen.getByText(/(?:^|\.)generate\.apply(?=$|:)/))
expect(mockSetCurrentVersionIndex).toHaveBeenCalledWith(1)

View File

@@ -1,10 +1,8 @@
'use client'
import type { FC } from 'react'
import type { GenRes } from '@/service/debug'
import { Button } from '@langgenius/dify-ui/button'
import { RiClipboardLine } from '@remixicon/react'
import copy from 'copy-to-clipboard'
import * as React from 'react'
import { memo } from 'react'
import { useTranslation } from 'react-i18next'
import { toast } from '@/app/components/app/configuration/toast'
import CodeEditor from '@/app/components/workflow/nodes/llm/components/json-schema-config-modal/code-editor'
@@ -25,7 +23,7 @@ type Props = Readonly<{
generatorType: GeneratorType
}>
const Result: FC<Props> = ({
const Result = ({
isBasicMode,
nodeId,
current,
@@ -34,7 +32,7 @@ const Result: FC<Props> = ({
versions,
onApply,
generatorType,
}) => {
}: Props) => {
const { t } = useTranslation()
const isGeneratorPrompt = generatorType === GeneratorType.prompt
@@ -53,13 +51,14 @@ const Result: FC<Props> = ({
</div>
<div className="flex items-center space-x-2">
<Button
aria-label={t(($) => $['operation.copy'], { ns: 'common' })}
className="px-2"
onClick={() => {
copy(current.modified)
toast.success(t(($) => $['actionMsg.copySuccessfully'], { ns: 'common' }))
}}
>
<RiClipboardLine className="size-4 text-text-secondary" />
<span aria-hidden className="i-ri-clipboard-line size-4 text-text-secondary" />
</Button>
<Button variant="primary" onClick={onApply}>
{t(($) => $['generate.apply'], { ns: 'appDebug' })}
@@ -94,4 +93,4 @@ const Result: FC<Props> = ({
</div>
)
}
export default React.memo(Result)
export default memo(Result)