refactor: 💨
This commit is contained in:
parent
c729c20771
commit
8c5cc1041b
46 changed files with 1008 additions and 879 deletions
|
|
@ -1,13 +1,14 @@
|
|||
import { useSecondaryPage } from '@/PageManager'
|
||||
import { ExtendedKind } from '@/constants'
|
||||
import {
|
||||
extractImageInfosFromEventTags,
|
||||
getParentEventId,
|
||||
getUsingClient,
|
||||
isNsfwEvent,
|
||||
isPictureEvent,
|
||||
isSupportedKind
|
||||
isPictureEvent
|
||||
} from '@/lib/event'
|
||||
import { toNote } from '@/lib/link'
|
||||
import { useMuteList } from '@/providers/MuteListProvider'
|
||||
import { useScreenSize } from '@/providers/ScreenSizeProvider'
|
||||
import { Event, kinds } from 'nostr-tools'
|
||||
import { useMemo, useState } from 'react'
|
||||
|
|
@ -20,18 +21,25 @@ import ParentNotePreview from '../ParentNotePreview'
|
|||
import TranslateButton from '../TranslateButton'
|
||||
import UserAvatar from '../UserAvatar'
|
||||
import Username from '../Username'
|
||||
import CommunityDefinition from './CommunityDefinition'
|
||||
import GroupMetadata from './GroupMetadata'
|
||||
import Highlight from './Highlight'
|
||||
import IValue from './IValue'
|
||||
import LiveEvent from './LiveEvent'
|
||||
import LongFormArticle from './LongFormArticle'
|
||||
import MutedNote from './MutedNote'
|
||||
import NsfwNote from './NsfwNote'
|
||||
import { UnknownNote } from './UnknownNote'
|
||||
|
||||
export default function Note({
|
||||
event,
|
||||
originalNoteId,
|
||||
size = 'normal',
|
||||
className,
|
||||
hideParentNotePreview = false
|
||||
}: {
|
||||
event: Event
|
||||
originalNoteId?: string
|
||||
size?: 'normal' | 'small'
|
||||
className?: string
|
||||
hideParentNotePreview?: boolean
|
||||
|
|
@ -48,14 +56,37 @@ export default function Note({
|
|||
)
|
||||
const usingClient = useMemo(() => getUsingClient(event), [event])
|
||||
const [showNsfw, setShowNsfw] = useState(false)
|
||||
const { mutePubkeys } = useMuteList()
|
||||
const [showMuted, setShowMuted] = useState(false)
|
||||
|
||||
let content: React.ReactNode
|
||||
if (!isSupportedKind(event.kind)) {
|
||||
if (
|
||||
![
|
||||
kinds.ShortTextNote,
|
||||
kinds.Highlights,
|
||||
kinds.LongFormArticle,
|
||||
kinds.LiveEvent,
|
||||
kinds.CommunityDefinition,
|
||||
ExtendedKind.GROUP_METADATA,
|
||||
ExtendedKind.PICTURE,
|
||||
ExtendedKind.COMMENT
|
||||
].includes(event.kind)
|
||||
) {
|
||||
content = <UnknownNote className="mt-2" event={event} />
|
||||
} else if (mutePubkeys.includes(event.pubkey) && !showMuted) {
|
||||
content = <MutedNote show={() => setShowMuted(true)} />
|
||||
} else if (isNsfwEvent(event) && !showNsfw) {
|
||||
content = <NsfwNote show={() => setShowNsfw(true)} />
|
||||
} else if (event.kind === kinds.Highlights) {
|
||||
content = <Highlight className="mt-2" event={event} />
|
||||
} else if (event.kind === kinds.LongFormArticle) {
|
||||
content = <LongFormArticle className="mt-2" event={event} />
|
||||
} else if (event.kind === kinds.LiveEvent) {
|
||||
content = <LiveEvent className="mt-2" event={event} />
|
||||
} else if (event.kind === ExtendedKind.GROUP_METADATA) {
|
||||
content = <GroupMetadata className="mt-2" event={event} originalNoteId={originalNoteId} />
|
||||
} else if (event.kind === kinds.CommunityDefinition) {
|
||||
content = <CommunityDefinition className="mt-2" event={event} />
|
||||
} else {
|
||||
content = <Content className="mt-2" event={event} />
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue