feat: One-click copy model id (#4190)
* feat:One-click copy model id * fix:model id消失问题,样式问题
This commit is contained in:
parent
efa68c8519
commit
a90be7e83f
@ -1,12 +1,12 @@
|
|||||||
import { DownOutlined, UpOutlined } from '@ant-design/icons'
|
import { DownOutlined, UpOutlined } from '@ant-design/icons'
|
||||||
|
import CopyIcon from '@renderer/components/Icons/CopyIcon'
|
||||||
import { isEmbeddingModel, isFunctionCallingModel, isReasoningModel, isVisionModel } from '@renderer/config/models'
|
import { isEmbeddingModel, isFunctionCallingModel, isReasoningModel, isVisionModel } from '@renderer/config/models'
|
||||||
import { Model, ModelType } from '@renderer/types'
|
import { Model, ModelType } from '@renderer/types'
|
||||||
import { getDefaultGroupName } from '@renderer/utils'
|
import { getDefaultGroupName } from '@renderer/utils'
|
||||||
import { Button, Checkbox, Divider, Flex, Form, Input, Modal } from 'antd'
|
import { Button, Checkbox, Divider, Flex, Form, Input, message, Modal } from 'antd'
|
||||||
import { FC, useState } from 'react'
|
import { FC, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import styled from 'styled-components'
|
import styled from 'styled-components'
|
||||||
|
|
||||||
interface ModelEditContentProps {
|
interface ModelEditContentProps {
|
||||||
model: Model
|
model: Model
|
||||||
onUpdateModel: (model: Model) => void
|
onUpdateModel: (model: Model) => void
|
||||||
@ -65,17 +65,29 @@ const ModelEditContent: FC<ModelEditContentProps> = ({ model, onUpdateModel, ope
|
|||||||
label={t('settings.models.add.model_id')}
|
label={t('settings.models.add.model_id')}
|
||||||
tooltip={t('settings.models.add.model_id.tooltip')}
|
tooltip={t('settings.models.add.model_id.tooltip')}
|
||||||
rules={[{ required: true }]}>
|
rules={[{ required: true }]}>
|
||||||
<Input
|
<Flex justify="space-between" gap={5}>
|
||||||
placeholder={t('settings.models.add.model_id.placeholder')}
|
<Input
|
||||||
spellCheck={false}
|
placeholder={t('settings.models.add.model_id.placeholder')}
|
||||||
maxLength={200}
|
spellCheck={false}
|
||||||
disabled={true}
|
maxLength={200}
|
||||||
onChange={(e) => {
|
disabled={true}
|
||||||
const value = e.target.value
|
value={model.id}
|
||||||
form.setFieldValue('name', value)
|
onChange={(e) => {
|
||||||
form.setFieldValue('group', getDefaultGroupName(value))
|
const value = e.target.value
|
||||||
}}
|
form.setFieldValue('name', value)
|
||||||
/>
|
form.setFieldValue('group', getDefaultGroupName(value))
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Button
|
||||||
|
onClick={() => {
|
||||||
|
//copy model id
|
||||||
|
const val = form.getFieldValue('name')
|
||||||
|
navigator.clipboard.writeText((val.id || model.id) as string)
|
||||||
|
message.success(t('message.copied'))
|
||||||
|
}}>
|
||||||
|
<CopyIcon /> {t('chat.topics.copy.title')}
|
||||||
|
</Button>
|
||||||
|
</Flex>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
name="name"
|
name="name"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user