* feat(QuickPanel): Add new feature QuickPanel, unify input box operation. * refactor(Inputbar): Remove unused quickPanelSymbol reference and update navigation action in KnowledgeBaseButton * fix(Inputbar): Prevent translation action when input text is empty and reorder MentionModelsInput component * refactor(Inputbar): Add resizeTextArea prop to QuickPhrasesButton for better text area management * feat(i18n): Add translation strings for input actions and quick phrases in multiple languages * feat(Inputbar): Enhance AttachmentButton to support ref forwarding and quick panel opening * feat(i18n, Inputbar): Add upload file translation strings and enhance file count display in multiple languages * style(QuickPanel): Update background color for QuickPanelBody and add dark theme support * fix(Inputbar): Update upload label for vision model support * feat(QuickPanel): Add outside click handling and update close action type * feat(QuickPanel): Improve scrolling behavior with key press handling and add PageUp/PageDown support * feat(i18n): Add translation strings for menu description in multiple languages * refactor(QuickPhrasesButton): simplify phrase mapping by removing index-based disabling * fix(QuickPanel): correct regex pattern for search functionality * refactor(QuickPanel): remove searchText state and related logic for cleaner context management * refactor(QuickPanel): enhance search text handling and input management * refactor(Inputbar): update file name handling in AttachmentPreview and Inputbar components
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { FileSearchOutlined } from '@ant-design/icons'
|
|
import { KnowledgeBase } from '@renderer/types'
|
|
import { ConfigProvider, Flex, Tag } from 'antd'
|
|
import { FC } from 'react'
|
|
import styled from 'styled-components'
|
|
|
|
const KnowledgeBaseInput: FC<{
|
|
selectedKnowledgeBases: KnowledgeBase[]
|
|
onRemoveKnowledgeBase: (knowledgeBase: KnowledgeBase) => void
|
|
}> = ({ selectedKnowledgeBases, onRemoveKnowledgeBase }) => {
|
|
return (
|
|
<Container gap="4px 0" wrap>
|
|
<ConfigProvider
|
|
theme={{
|
|
components: {
|
|
Tag: {
|
|
borderRadiusSM: 100
|
|
}
|
|
}
|
|
}}>
|
|
{selectedKnowledgeBases.map((knowledgeBase) => (
|
|
<Tag
|
|
icon={<FileSearchOutlined />}
|
|
bordered={false}
|
|
color="success"
|
|
key={knowledgeBase.id}
|
|
closable
|
|
onClose={() => onRemoveKnowledgeBase(knowledgeBase)}>
|
|
{knowledgeBase.name}
|
|
</Tag>
|
|
))}
|
|
</ConfigProvider>
|
|
</Container>
|
|
)
|
|
}
|
|
|
|
const Container = styled(Flex)`
|
|
width: 100%;
|
|
padding: 5px 15px 0;
|
|
`
|
|
|
|
export default KnowledgeBaseInput
|