35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import { toNote } from '@/lib/link'
|
|
import { cn } from '@/lib/utils'
|
|
import { useSecondaryPage } from '@/PageManager'
|
|
import { MessageCircle } from 'lucide-react'
|
|
import { Event } from 'nostr-tools'
|
|
import ContentPreview from '../../ContentPreview'
|
|
import { FormattedTimestamp } from '../../FormattedTimestamp'
|
|
import UserAvatar from '../../UserAvatar'
|
|
|
|
export function CommentNotification({
|
|
notification,
|
|
isNew = false
|
|
}: {
|
|
notification: Event
|
|
isNew?: boolean
|
|
}) {
|
|
const { push } = useSecondaryPage()
|
|
|
|
return (
|
|
<div
|
|
className="flex gap-2 items-center cursor-pointer py-2"
|
|
onClick={() => push(toNote(notification))}
|
|
>
|
|
<UserAvatar userId={notification.pubkey} size="small" />
|
|
<MessageCircle size={24} className="text-blue-400" />
|
|
<ContentPreview
|
|
className={cn('truncate flex-1 w-0', isNew ? 'font-semibold' : 'text-muted-foreground')}
|
|
event={notification}
|
|
/>
|
|
<div className="text-muted-foreground">
|
|
<FormattedTimestamp timestamp={notification.created_at} short />
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|