Skip to content

Commit

Permalink
feat: Modify the style of the answer card on the search page infinifl…
Browse files Browse the repository at this point in the history
…ow#2247 (infiniflow#2412)

### What problem does this PR solve?

feat: Modify the style of the answer card on the search page infiniflow#2247

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
  • Loading branch information
cike8899 authored Sep 13, 2024
1 parent 4c4fe42 commit d7be834
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 24 deletions.
4 changes: 1 addition & 3 deletions web/src/components/highlight-markdown/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,14 @@ import styles from './index.less';

const HightLightMarkdown = ({
children,
className,
}: {
children: string | null | undefined;
className?: string;
}) => {
return (
<Markdown
remarkPlugins={[remarkGfm]}
rehypePlugins={[rehypeRaw]}
className={classNames(styles.text, className)}
className={classNames(styles.text)}
components={
{
code(props: any) {
Expand Down
1 change: 1 addition & 0 deletions web/src/locales/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,7 @@ The above is the content you need to summarize.`,
ttsTip:
'To play the voice using voice conversion, please select TTS (speech conversion model) in the settings first.',
relatedQuestion: 'Related question',
answerTitle: 'R',
},
setting: {
profile: 'Profile',
Expand Down
1 change: 1 addition & 0 deletions web/src/locales/zh-traditional.ts
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,7 @@ export default {
tts: '文字轉語音',
ttsTip: '是否用語音轉換播放語音,請先在設定裡面選擇TTS(語音轉換模型)。',
relatedQuestion: '相關問題',
answerTitle: '智慧回答',
},
setting: {
profile: '概述',
Expand Down
1 change: 1 addition & 0 deletions web/src/locales/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,7 @@ export default {
tts: '文本转语音',
ttsTip: '是否用语音转换播放语音,请先在设置里面选择TTS(语音转换模型)。',
relatedQuestion: '相关问题',
answerTitle: '智能回答',
},
setting: {
profile: '概要',
Expand Down
18 changes: 14 additions & 4 deletions web/src/pages/search/index.less
Original file line number Diff line number Diff line change
Expand Up @@ -93,13 +93,23 @@
width: 40%;
padding: 20px 10px 10px;
}

.highlightContent {
.multipleLineEllipsis(2);
em {
color: red;
font-style: normal;
}
}
}
.answerWrapper {
background-color: #e6f4ff;
padding: 14px;
margin-top: 16px;
border-radius: 8px;
& > p {
background: rgb(232 242 251 / 70%);
box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.08);
:global(.ant-card-head) {
background-color: #e6f4ff;
}
& p {
margin: 0;
}
}
Expand Down
50 changes: 33 additions & 17 deletions web/src/pages/search/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,14 @@ import {
Spin,
Tag,
} from 'antd';
import DOMPurify from 'dompurify';
import { isEmpty } from 'lodash';
import { useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import MarkdownContent from '../chat/markdown-content';
import { useFetchBackgroundImage, useSendQuestion } from './hooks';
import SearchSidebar from './sidebar';

import styles from './index.less';
import SearchSidebar from './sidebar';

const { Content } = Layout;
const { Search } = Input;
Expand Down Expand Up @@ -123,16 +124,28 @@ const SearchPage = () => {
className={isMindMapEmpty ? styles.largeMain : styles.main}
>
{InputSearch}
{answer.answer && (
<div className={styles.answerWrapper}>
<MarkdownContent
loading={sendingLoading}
content={answer.answer}
reference={answer.reference ?? ({} as IReference)}
clickDocumentButton={clickDocumentButton}
></MarkdownContent>
</div>
)}
<Card
title={
<Flex gap={10}>
<img src="/logo.svg" alt="" width={20} />
{t('chat.answerTitle')}
</Flex>
}
className={styles.answerWrapper}
>
{isEmpty(answer) && sendingLoading ? (
<Skeleton active />
) : (
answer.answer && (
<MarkdownContent
loading={sendingLoading}
content={answer.answer}
reference={answer.reference ?? ({} as IReference)}
clickDocumentButton={clickDocumentButton}
></MarkdownContent>
)
)}
</Card>
<Divider></Divider>
<RetrievalDocuments
selectedDocumentIds={selectedDocumentIds}
Expand Down Expand Up @@ -166,11 +179,14 @@ const SearchPage = () => {
</div>
}
>
<div>
<HightLightMarkdown>
{item.highlight}
</HightLightMarkdown>
</div>
<div
dangerouslySetInnerHTML={{
__html: DOMPurify.sanitize(
item.highlight,
),
}}
className={styles.highlightContent}
></div>
</Popover>
</Space>
</Card>
Expand Down

0 comments on commit d7be834

Please sign in to comment.