feat: relay reviews

This commit is contained in:
codytseng
2025-09-20 22:00:28 +08:00
parent fcb31d8052
commit 2439150c6e
40 changed files with 1206 additions and 207 deletions

View File

@@ -0,0 +1,16 @@
import { getStarsFromRelayReviewEvent } from '@/lib/event-metadata'
import { Event } from 'nostr-tools'
import { useMemo } from 'react'
import Content from '../Content'
import Stars from '../Stars'
export default function RelayReview({ event, className }: { event: Event; className?: string }) {
const stars = useMemo(() => getStarsFromRelayReviewEvent(event), [event])
return (
<div className={className}>
<Stars stars={stars} className="mt-2" />
<Content event={event} className="mt-2" />
</div>
)
}

View File

@@ -30,6 +30,7 @@ import PictureNote from './PictureNote'
import Poll from './Poll'
import UnknownNote from './UnknownNote'
import VideoNote from './VideoNote'
import RelayReview from './RelayReview'
export default function Note({
event,
@@ -98,6 +99,8 @@ export default function Note({
content = <PictureNote className="mt-2" event={event} />
} else if (event.kind === ExtendedKind.VIDEO || event.kind === ExtendedKind.SHORT_VIDEO) {
content = <VideoNote className="mt-2" event={event} />
} else if (event.kind === ExtendedKind.RELAY_REVIEW) {
content = <RelayReview className="mt-2" event={event} />
} else {
content = <Content className="mt-2" event={event} />
}