1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-19 10:26:17 +00:00

change AI search result is markdown (#5888)

This commit is contained in:
Michael An
2024-01-10 13:59:30 +08:00
committed by GitHub
parent c9ada9a448
commit 96781925b0
3 changed files with 37 additions and 19 deletions

View File

@@ -41,6 +41,25 @@
width: 100%;
}
.ai-search-ask .ai-search-ask-body .ai-search-ask-body-markdown .sf-slate-viewer-scroll-container {
padding: 0;
background: none;
}
.ai-search-ask .ai-search-ask-body .ai-search-ask-body-markdown .sf-slate-viewer-article-container {
margin: 0;
}
.ai-search-ask .ai-search-ask-body .ai-search-ask-body-markdown .article {
padding: 0;
border: none;
}
.ai-search-ask .ai-search-ask-body .ai-search-ask-body-markdown .article p {
margin-top: 0;
margin-bottom: 1rem;
}
.ai-search-ask .ai-search-ask-footer {
border-top: 1px solid rgba(0, 40, 100, 0.12);
margin: 0 1rem;

View File

@@ -36,7 +36,7 @@ export default class AISearchAsk extends Component {
super(props);
this.state = {
value: props.value,
isLoading: false,
isLoading: true,
answeringResult: '',
hitFiles: [],
};
@@ -101,6 +101,7 @@ export default class AISearchAsk extends Component {
};
formatQuestionAnsweringItems(data) {
if (!Array.isArray(data)) return [];
let items = [];
for (let i = 0; i < data.length; i++) {
items[i] = {};
@@ -135,11 +136,10 @@ export default class AISearchAsk extends Component {
search_repo: repoID || 'all',
};
seafileAPI.questionAnsweringFiles(searchParams, token).then(res => {
const { answering_result } = res.data || {};
const hit_files = answering_result !== 'false' ? res.data.hit_files : [];
let { answering_result, hit_files } = res.data || {};
this.setState({
isLoading: false,
answeringResult: answering_result === 'false' ? 'No result' : answering_result,
answeringResult: answering_result === 'false' ? '' : answering_result.trim(),
hitFiles: this.formatQuestionAnsweringItems(hit_files),
});
}).catch(error => {
@@ -152,6 +152,7 @@ export default class AISearchAsk extends Component {
};
render() {
const { isLoading, answeringResult, hitFiles } = this.state;
return (
<div className="search">
<div className="search-mask show" onClick={this.props.closeAsk}></div>
@@ -164,7 +165,7 @@ export default class AISearchAsk extends Component {
{gettext('Return')}
</div>
{this.state.isLoading ?
{isLoading ?
<div className="d-flex align-items-center my-8">
<Loading />
</div>
@@ -174,20 +175,17 @@ export default class AISearchAsk extends Component {
<AISearchRobot/>
</div>
<div className="ai-search-ask-body-right">
{/* <div>{this.state.answeringResult}</div>s */}
{/* markdown viewer */}
{answeringResult.length > 0 ?
<div className="ai-search-ask-body-markdown">
<MarkdownViewer
value={this.state.answeringResult}
isShowOutline={false}
/>
<MarkdownViewer value={answeringResult} isShowOutline={false}/>
</div>
:
<p>{gettext('No result')}</p>
}
<AISearchHelp />
{this.state.hitFiles.length > 0 &&
{hitFiles.length > 0 &&
<AISearchRefrences
hitFiles={this.state.hitFiles}
hitFiles={hitFiles}
onItemClickHandler={this.props.onItemClickHandler}
/>
}
@@ -196,7 +194,7 @@ export default class AISearchAsk extends Component {
}
<div className="ai-search-ask-footer">
<div className={`input-icon mb-1`}>
<div className="input-icon mb-1">
<input
type="text"
className="form-control search-input w-100"

View File

@@ -1,5 +1,6 @@
.ai-search-refrences {
margin-top: 10px;
padding-bottom: 10px;
}
.ai-search-refrences .ai-search-refrences-title {