fix: missing icon of search result

feat: use search result message as single list
This commit is contained in:
Wentao Lyu 2023-03-29 02:29:15 +08:00
parent dc743df255
commit aa26eea8c5
6 changed files with 102 additions and 44 deletions

View file

@ -25,7 +25,17 @@ export default function Message({
const setLatestMessage = useSetRecoilState(store.latestMessage);
const { model, chatGptLabel, promptPrefix } = conversation;
const [abortScroll, setAbort] = useState(false);
const { sender, text, searchResult, isCreatedByUser, error, submitting } = message;
const {
sender,
text,
searchResult,
isCreatedByUser,
error,
submitting,
model: messageModel,
chatGptLabel: messageChatGptLabel,
searchResult: isSearchResult
} = message;
const textEditor = useRef(null);
const last = !message?.children?.length;
const edit = message.messageId == currentEditId;
@ -70,9 +80,9 @@ export default function Message({
const icon = getIconOfModel({
sender,
isCreatedByUser,
model,
model: isSearchResult ? messageModel : model,
searchResult,
chatGptLabel,
chatGptLabel: isSearchResult ? messageChatGptLabel : chatGptLabel,
promptPrefix,
error
});

View file

@ -6,7 +6,8 @@ export default function MultiMessage({
messagesTree,
scrollToBottom,
currentEditId,
setCurrentEditId
setCurrentEditId,
isSearchView
}) {
const [siblingIdx, setSiblingIdx] = useState(0);
@ -30,6 +31,26 @@ export default function MultiMessage({
}
const message = messagesTree[messagesTree.length - siblingIdx - 1];
if (isSearchView)
return (
<>
{messagesTree
? messagesTree.map(message => (
<Message
key={message.messageId}
conversation={conversation}
message={message}
scrollToBottom={scrollToBottom}
currentEditId={currentEditId}
setCurrentEditId={null}
siblingIdx={1}
siblingCount={1}
setSiblingIdx={null}
/>
))
: null}
</>
);
return (
<Message
key={message.messageId}

View file

@ -107,6 +107,7 @@ export default function Messages({ isSearchView = false }) {
scrollToBottom={scrollToBottom}
currentEditId={currentEditId}
setCurrentEditId={setCurrentEditId}
isSearchView={isSearchView}
/>
<CSSTransition
in={showScrollButton}