import { Skeleton } from '@/components/ui/skeleton' import { useFetchEvent } from '@/hooks' import { isSupportedKind } from '@/lib/event' import { cn } from '@/lib/utils' import { useMuteList } from '@/providers/MuteListProvider' import { useMemo } from 'react' import { useTranslation } from 'react-i18next' import ContentPreview from '../ContentPreview' import UserAvatar from '../UserAvatar' export default function ParentNotePreview({ eventId, className, onClick }: { eventId: string className?: string onClick?: React.MouseEventHandler | undefined }) { const { t } = useTranslation() const { mutePubkeys } = useMuteList() const { event, isFetching } = useFetchEvent(eventId) const isMuted = useMemo( () => (event ? mutePubkeys.includes(event.pubkey) : false), [mutePubkeys, event] ) if (isFetching) { return (
{t('reply to')}
) } if (!event) { return (
{t('reply to')}
{`[${t('Not found the note')}]`}
) } return (
{t('reply to')}
{event && } {isMuted ? (
[{t('This user has been muted')}]
) : !isSupportedKind(event.kind) ? (
[{t('Cannot handle event of kind k', { k: event.kind })}]
) : ( )}
) }