fix(knowledge): change search ui and fix search bug

This commit is contained in:
eeee0717 2025-04-22 15:52:10 +08:00 committed by Asurada
parent bf8baedfcf
commit 80618b2331
2 changed files with 15 additions and 18 deletions

View File

@ -13,7 +13,7 @@ import { formatFileSize } from '@renderer/utils'
import { bookExts, documentExts, textExts, thirdPartyApplicationExts } from '@shared/config/constant' import { bookExts, documentExts, textExts, thirdPartyApplicationExts } from '@shared/config/constant'
import { Alert, Button, Dropdown, Empty, message, Tag, Tooltip, Upload } from 'antd' import { Alert, Button, Dropdown, Empty, message, Tag, Tooltip, Upload } from 'antd'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { ChevronsDown, ChevronsUp, Plus, Settings2 } from 'lucide-react' import { ChevronsDown, ChevronsUp, Plus, Search, Settings2 } from 'lucide-react'
import VirtualList from 'rc-virtual-list' import VirtualList from 'rc-virtual-list'
import { FC, useState } from 'react' import { FC, useState } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
@ -21,6 +21,8 @@ import styled from 'styled-components'
import CustomCollapse from '../../components/CustomCollapse' import CustomCollapse from '../../components/CustomCollapse'
import FileItem from '../files/FileItem' import FileItem from '../files/FileItem'
import { NavbarIcon } from '../home/Navbar'
import KnowledgeSearchPopup from './components/KnowledgeSearchPopup'
import KnowledgeSettingsPopup from './components/KnowledgeSettingsPopup' import KnowledgeSettingsPopup from './components/KnowledgeSettingsPopup'
import StatusIcon from './components/StatusIcon' import StatusIcon from './components/StatusIcon'
@ -248,6 +250,10 @@ const KnowledgeContent: FC<KnowledgeContentProps> = ({ selectedBase }) => {
</div> </div>
</ModelInfo> </ModelInfo>
<HStack gap={8} alignItems="center"> <HStack gap={8} alignItems="center">
{/* 使用selected base导致修改设置后没有响应式更新 */}
<NarrowIcon onClick={() => base && KnowledgeSearchPopup.show({ base: base })}>
<Search size={18} />
</NarrowIcon>
<Tooltip title={expandAll ? t('common.collapse') : t('common.expand')}> <Tooltip title={expandAll ? t('common.collapse') : t('common.expand')}>
<Button <Button
size="small" size="small"
@ -694,4 +700,10 @@ const RefreshIcon = styled(RedoOutlined)`
color: var(--color-text-2); color: var(--color-text-2);
` `
const NarrowIcon = styled(NavbarIcon)`
@media (max-width: 1000px) {
display: none;
}
`
export default KnowledgeContent export default KnowledgeContent

View File

@ -1,17 +1,15 @@
import { DeleteOutlined, EditOutlined, SettingOutlined } from '@ant-design/icons' import { DeleteOutlined, EditOutlined, SettingOutlined } from '@ant-design/icons'
import { Navbar, NavbarCenter, NavbarRight } from '@renderer/components/app/Navbar' import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar'
import DragableList from '@renderer/components/DragableList' import DragableList from '@renderer/components/DragableList'
import { HStack } from '@renderer/components/Layout'
import ListItem from '@renderer/components/ListItem' import ListItem from '@renderer/components/ListItem'
import PromptPopup from '@renderer/components/Popups/PromptPopup' import PromptPopup from '@renderer/components/Popups/PromptPopup'
import Scrollbar from '@renderer/components/Scrollbar' import Scrollbar from '@renderer/components/Scrollbar'
import { useKnowledgeBases } from '@renderer/hooks/useKnowledge' import { useKnowledgeBases } from '@renderer/hooks/useKnowledge'
import { useShortcut } from '@renderer/hooks/useShortcuts' import { useShortcut } from '@renderer/hooks/useShortcuts'
import { NavbarIcon } from '@renderer/pages/home/Navbar'
import KnowledgeSearchPopup from '@renderer/pages/knowledge/components/KnowledgeSearchPopup' import KnowledgeSearchPopup from '@renderer/pages/knowledge/components/KnowledgeSearchPopup'
import { KnowledgeBase } from '@renderer/types' import { KnowledgeBase } from '@renderer/types'
import { Dropdown, Empty, MenuProps } from 'antd' import { Dropdown, Empty, MenuProps } from 'antd'
import { Book, Plus, Search } from 'lucide-react' import { Book, Plus } from 'lucide-react'
import { FC, useCallback, useEffect, useState } from 'react' import { FC, useCallback, useEffect, useState } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import styled from 'styled-components' import styled from 'styled-components'
@ -96,13 +94,6 @@ const KnowledgePage: FC = () => {
<Container> <Container>
<Navbar> <Navbar>
<NavbarCenter style={{ borderRight: 'none' }}>{t('knowledge.title')}</NavbarCenter> <NavbarCenter style={{ borderRight: 'none' }}>{t('knowledge.title')}</NavbarCenter>
<NavbarRight>
<HStack alignItems="center">
<NarrowIcon onClick={() => selectedBase && KnowledgeSearchPopup.show({ base: selectedBase })}>
<Search size={18} />
</NarrowIcon>
</HStack>
</NavbarRight>
</Navbar> </Navbar>
<ContentContainer id="content-container"> <ContentContainer id="content-container">
<SideNav> <SideNav>
@ -243,10 +234,4 @@ const AddKnowledgeName = styled.div`
gap: 8px; gap: 8px;
` `
const NarrowIcon = styled(NavbarIcon)`
@media (max-width: 1000px) {
display: none;
}
`
export default KnowledgePage export default KnowledgePage