@@ -20,15 +20,46 @@ import { UseChatHelpers } from "@ai-sdk/react";
2020import { useRouter } from "next/navigation" ;
2121import { 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+
2343function 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