mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-17 19:44:45 +08:00
refactor: move biz logic to core
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
Message as AIElementMessage,
|
||||
MessageContent as AIElementMessageContent,
|
||||
MessageResponse as AIElementMessageResponse,
|
||||
MessageToolbar,
|
||||
} from "@/components/ai-elements/message";
|
||||
import {
|
||||
extractContentFromMessage,
|
||||
@@ -15,6 +16,7 @@ import { useRehypeSplitWordsIntoSpans } from "@/core/rehype";
|
||||
import { cn } from "@/lib/utils";
|
||||
|
||||
import { MessageGroup } from "./message-group";
|
||||
import { CopyButton } from "../copy-button";
|
||||
|
||||
export function MessageListItem({
|
||||
className,
|
||||
@@ -38,6 +40,17 @@ export function MessageListItem({
|
||||
messagesInGroup={messagesInGroup}
|
||||
isLoading={isLoading}
|
||||
/>
|
||||
<MessageToolbar
|
||||
className={cn(
|
||||
message.type === "human" && "justify-end",
|
||||
message.type === "human" ? "-bottom-9" : "-bottom-8",
|
||||
"absolute right-0 left-0 z-20 opacity-0 transition-opacity delay-200 duration-300 group-hover/conversation-message:opacity-100",
|
||||
)}
|
||||
>
|
||||
<div className="flex gap-1">
|
||||
<CopyButton clipboardData={extractContentFromMessage(message)} />
|
||||
</div>
|
||||
</MessageToolbar>
|
||||
</AIElementMessage>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ export function MessageList({
|
||||
<ConversationContent className="mx-auto w-full max-w-(--container-width-md)">
|
||||
{groupMessages(
|
||||
thread.messages,
|
||||
(groupedMessages, groupIndex, isLastGroup) => {
|
||||
(groupedMessages) => {
|
||||
if (groupedMessages[0] && hasContent(groupedMessages[0])) {
|
||||
const message = groupedMessages[0];
|
||||
return (
|
||||
|
||||
@@ -57,7 +57,7 @@ export function RecentChatList() {
|
||||
<SidebarMenu>
|
||||
<div className="flex w-full flex-col gap-1">
|
||||
{threads.map((thread) => {
|
||||
const isActive = pathOfThread(thread, false) === pathname;
|
||||
const isActive = pathOfThread(thread.thread_id) === pathname;
|
||||
return (
|
||||
<SidebarMenuItem
|
||||
key={thread.thread_id}
|
||||
@@ -67,7 +67,7 @@ export function RecentChatList() {
|
||||
<div>
|
||||
<Link
|
||||
className="text-muted-foreground block w-full whitespace-nowrap group-hover/side-menu-item:overflow-hidden"
|
||||
href={pathOfThread(thread)}
|
||||
href={pathOfThread(thread.thread_id)}
|
||||
>
|
||||
{titleOfThread(thread)}
|
||||
</Link>
|
||||
|
||||
Reference in New Issue
Block a user