mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-11 01:08:57 +08:00
lint: frontend linting issues (#744)
This commit is contained in:
parent
2ba89d0deb
commit
8ae1eb0ebb
@ -1,10 +1,9 @@
|
||||
'use client'
|
||||
import React from 'react'
|
||||
import Tooltip from '@/app/components/base/tooltip'
|
||||
import { t } from 'i18next'
|
||||
import s from './style.module.css'
|
||||
import copy from 'copy-to-clipboard'
|
||||
|
||||
import s from './style.module.css'
|
||||
import Tooltip from '@/app/components/base/tooltip'
|
||||
|
||||
type ICopyBtnProps = {
|
||||
value: string
|
||||
@ -24,18 +23,18 @@ const CopyBtn = ({
|
||||
content={(isCopied ? t('appApi.copied') : t('appApi.copy')) as string}
|
||||
className='z-10'
|
||||
>
|
||||
<div
|
||||
className={`box-border p-0.5 flex items-center justify-center rounded-md bg-white cursor-pointer`}
|
||||
style={{
|
||||
boxShadow: '0px 4px 8px -2px rgba(16, 24, 40, 0.1), 0px 2px 4px -2px rgba(16, 24, 40, 0.06)'
|
||||
}}
|
||||
onClick={() => {
|
||||
copy(value)
|
||||
setIsCopied(true)
|
||||
}}
|
||||
>
|
||||
<div className={`w-6 h-6 hover:bg-gray-50 ${s.copyIcon} ${isCopied ? s.copied : ''}`}></div>
|
||||
</div>
|
||||
<div
|
||||
className={'box-border p-0.5 flex items-center justify-center rounded-md bg-white cursor-pointer'}
|
||||
style={{
|
||||
boxShadow: '0px 4px 8px -2px rgba(16, 24, 40, 0.1), 0px 2px 4px -2px rgba(16, 24, 40, 0.06)',
|
||||
}}
|
||||
onClick={() => {
|
||||
copy(value)
|
||||
setIsCopied(true)
|
||||
}}
|
||||
>
|
||||
<div className={`w-6 h-6 hover:bg-gray-50 ${s.copyIcon} ${isCopied ? s.copied : ''}`}></div>
|
||||
</div>
|
||||
</Tooltip>
|
||||
</div>
|
||||
)
|
||||
|
@ -1,17 +1,18 @@
|
||||
'use client'
|
||||
import React, { FC } from 'react'
|
||||
import type { FC } from 'react'
|
||||
import React from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import cn from 'classnames'
|
||||
import copy from 'copy-to-clipboard'
|
||||
import NoData from './no-data'
|
||||
import type { SavedMessage } from '@/models/debug'
|
||||
import { Markdown } from '@/app/components/base/markdown'
|
||||
import { SimpleBtn, copyIcon } from '@/app/components/app/text-generate/item'
|
||||
import copy from 'copy-to-clipboard'
|
||||
import Toast from '@/app/components/base/toast'
|
||||
import NoData from './no-data'
|
||||
|
||||
export interface ISavedItemsProps {
|
||||
export type ISavedItemsProps = {
|
||||
className?: string
|
||||
list: SavedMessage[],
|
||||
list: SavedMessage[]
|
||||
onRemove: (id: string) => void
|
||||
onStartCreateContent: () => void
|
||||
}
|
||||
@ -26,52 +27,54 @@ const SavedItems: FC<ISavedItemsProps> = ({
|
||||
className,
|
||||
list,
|
||||
onRemove,
|
||||
onStartCreateContent
|
||||
onStartCreateContent,
|
||||
}) => {
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<div className={cn(className, 'space-y-3')}>
|
||||
{list.length === 0 ? (
|
||||
<div className='px-6'>
|
||||
<NoData onStartCreateContent={onStartCreateContent} />
|
||||
</div>
|
||||
) : (<>
|
||||
{list.map(({ id, answer }) => (
|
||||
<div
|
||||
key={id}
|
||||
className='p-4 rounded-xl bg-gray-50'
|
||||
style={{
|
||||
boxShadow: '0px 1px 2px rgba(16, 24, 40, 0.05)'
|
||||
}}
|
||||
>
|
||||
<Markdown content={answer} />
|
||||
<div className='flex items-center justify-between mt-3'>
|
||||
<div className='flex items-center space-x-2'>
|
||||
<SimpleBtn
|
||||
className='space-x-1'
|
||||
onClick={() => {
|
||||
copy(answer)
|
||||
Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
|
||||
}}>
|
||||
{copyIcon}
|
||||
<div>{t('common.operation.copy')}</div>
|
||||
</SimpleBtn>
|
||||
|
||||
<SimpleBtn
|
||||
className='space-x-1'
|
||||
onClick={() => {
|
||||
onRemove(id)
|
||||
}}>
|
||||
{removeIcon}
|
||||
<div>{t('common.operation.remove')}</div>
|
||||
</SimpleBtn>
|
||||
</div>
|
||||
<div className='text-xs text-gray-500'>{answer?.length} {t('common.unit.char')}</div>
|
||||
</div>
|
||||
{list.length === 0
|
||||
? (
|
||||
<div className='px-6'>
|
||||
<NoData onStartCreateContent={onStartCreateContent} />
|
||||
</div>
|
||||
))}
|
||||
</>)}
|
||||
)
|
||||
: (<>
|
||||
{list.map(({ id, answer }) => (
|
||||
<div
|
||||
key={id}
|
||||
className='p-4 rounded-xl bg-gray-50'
|
||||
style={{
|
||||
boxShadow: '0px 1px 2px rgba(16, 24, 40, 0.05)',
|
||||
}}
|
||||
>
|
||||
<Markdown content={answer} />
|
||||
<div className='flex items-center justify-between mt-3'>
|
||||
<div className='flex items-center space-x-2'>
|
||||
<SimpleBtn
|
||||
className='space-x-1'
|
||||
onClick={() => {
|
||||
copy(answer)
|
||||
Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
|
||||
}}>
|
||||
{copyIcon}
|
||||
<div>{t('common.operation.copy')}</div>
|
||||
</SimpleBtn>
|
||||
|
||||
<SimpleBtn
|
||||
className='space-x-1'
|
||||
onClick={() => {
|
||||
onRemove(id)
|
||||
}}>
|
||||
{removeIcon}
|
||||
<div>{t('common.operation.remove')}</div>
|
||||
</SimpleBtn>
|
||||
</div>
|
||||
<div className='text-xs text-gray-500'>{answer?.length} {t('common.unit.char')}</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</>)}
|
||||
|
||||
</div>
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user