fix: 🐛

This commit is contained in:
codytseng 2025-08-27 15:05:47 +08:00
parent d90f6f8261
commit f41536a793
21 changed files with 94 additions and 43 deletions

View file

@ -35,13 +35,13 @@ export default function Content({
<span className={cn('pointer-events-none', className)}>
{nodes.map((node, index) => {
if (node.type === 'image' || node.type === 'images') {
return index > 0 ? ` [${t('image')}]` : `[${t('image')}]`
return index > 0 ? ` [${t('Image')}]` : `[${t('Image')}]`
}
if (node.type === 'media') {
return index > 0 ? ` [${t('media')}]` : `[${t('media')}]`
return index > 0 ? ` [${t('Media')}]` : `[${t('Media')}]`
}
if (node.type === 'event') {
return index > 0 ? ` [${t('note')}]` : `[${t('note')}]`
return index > 0 ? ` [${t('Note')}]` : `[${t('Note')}]`
}
if (node.type === 'mention') {
return <EmbeddedMentionText key={index} userId={node.data.split(':')[1]} />

View file

@ -0,0 +1,19 @@
import { cn } from '@/lib/utils'
import { Event } from 'nostr-tools'
import { useTranslation } from 'react-i18next'
export default function PictureNotePreview({
event,
className
}: {
event: Event
className?: string
}) {
const { t } = useTranslation()
return (
<div className={cn('pointer-events-none', className)}>
[{t('Image')}] <span className="italic pr-0.5">{event.content}</span>
</div>
)
}

View file

@ -0,0 +1,19 @@
import { cn } from '@/lib/utils'
import { Event } from 'nostr-tools'
import { useTranslation } from 'react-i18next'
export default function VideoNotePreview({
event,
className
}: {
event: Event
className?: string
}) {
const { t } = useTranslation()
return (
<div className={cn('pointer-events-none', className)}>
[{t('Media')}] <span className="italic pr-0.5">{event.content}</span>
</div>
)
}

View file

@ -10,7 +10,9 @@ import HighlightPreview from './HighlightPreview'
import LiveEventPreview from './LiveEventPreview'
import LongFormArticlePreview from './LongFormArticlePreview'
import NormalContentPreview from './NormalContentPreview'
import PictureNotePreview from './PictureNotePreview'
import PollPreview from './PollPreview'
import VideoNotePreview from './VideoNotePreview'
export default function ContentPreview({
event,
@ -40,7 +42,6 @@ export default function ContentPreview({
[
kinds.ShortTextNote,
ExtendedKind.COMMENT,
ExtendedKind.PICTURE,
ExtendedKind.VOICE,
ExtendedKind.VOICE_COMMENT
].includes(event.kind)
@ -60,6 +61,14 @@ export default function ContentPreview({
return <LongFormArticlePreview event={event} className={className} />
}
if (event.kind === ExtendedKind.VIDEO || event.kind === ExtendedKind.SHORT_VIDEO) {
return <VideoNotePreview event={event} className={className} />
}
if (event.kind === ExtendedKind.PICTURE) {
return <PictureNotePreview event={event} className={className} />
}
if (event.kind === ExtendedKind.GROUP_METADATA) {
return <GroupMetadataPreview event={event} className={className} />
}