Skip to content

Commit 4793b84

Browse files
committed
Update message.tsx
1 parent 9a77a5e commit 4793b84

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

apps/saru/components/chat/message.tsx

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,46 @@ import { UseChatHelpers } from "@ai-sdk/react";
2020
import { useRouter } from "next/navigation";
2121
import { useDocument } from "@/hooks/use-document";
2222

23+
const mentionStyleLight: React.CSSProperties = {
24+
backgroundColor: '#dbeafe',
25+
padding: '1px 2px',
26+
borderRadius: '0.25rem',
27+
fontWeight: 500,
28+
boxDecorationBreak: 'clone',
29+
WebkitBoxDecorationBreak: 'clone',
30+
cursor: 'pointer',
31+
};
32+
33+
const mentionStyleDark: React.CSSProperties = {
34+
backgroundColor: 'rgba(59, 130, 246, 0.2)',
35+
padding: '1px 2px',
36+
borderRadius: '0.25rem',
37+
fontWeight: 500,
38+
boxDecorationBreak: 'clone',
39+
WebkitBoxDecorationBreak: 'clone',
40+
cursor: 'pointer',
41+
};
42+
2343
function MentionChip({ title, id }: { title: string; id: string }) {
2444
const router = useRouter();
45+
const [isDark, setIsDark] = useState(false);
46+
47+
useEffect(() => {
48+
setIsDark(document.documentElement.classList.contains('dark'));
49+
const observer = new MutationObserver(() =>
50+
setIsDark(document.documentElement.classList.contains('dark'))
51+
);
52+
observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
53+
return () => observer.disconnect();
54+
}, []);
55+
2556
return (
2657
<span
2758
role="button"
2859
tabIndex={0}
2960
onClick={() => router.push(`/documents/${id}`)}
3061
onKeyDown={(e: any) => e.key === 'Enter' && router.push(`/documents/${id}`)}
31-
className="bg-[#dbeafe] dark:bg-blue-500/20 px-0.5 py-px rounded font-medium box-decoration-clone cursor-pointer"
62+
style={isDark ? mentionStyleDark : mentionStyleLight}
3263
>
3364
@{title}
3465
</span>

0 commit comments

Comments
 (0)