feat(session-manager): highlight search keywords in session titles and messages

This commit is contained in:
Jason
2026-04-10 08:30:37 +08:00
parent 308314baac
commit f9fb9085ac
4 changed files with 41 additions and 3 deletions
+11 -2
View File
@@ -9,12 +9,18 @@ import {
} from "@/components/ui/tooltip";
import { cn } from "@/lib/utils";
import type { SessionMessage } from "@/types";
import { formatTimestamp, getRoleLabel, getRoleTone } from "./utils";
import {
formatTimestamp,
getRoleLabel,
getRoleTone,
highlightText,
} from "./utils";
interface SessionMessageItemProps {
message: SessionMessage;
index: number;
isActive: boolean;
searchQuery?: string;
setRef: (el: HTMLDivElement | null) => void;
onCopy: (content: string) => void;
}
@@ -22,6 +28,7 @@ interface SessionMessageItemProps {
export function SessionMessageItem({
message,
isActive,
searchQuery,
setRef,
onCopy,
}: SessionMessageItemProps) {
@@ -68,7 +75,9 @@ export function SessionMessageItem({
)}
</div>
<div className="whitespace-pre-wrap break-words [overflow-wrap:anywhere] text-sm leading-relaxed min-w-0">
{message.content}
{searchQuery
? highlightText(message.content, searchQuery)
: message.content}
</div>
</div>
);