feat: exclude muted users from mentions by default
This commit is contained in:
@@ -8,6 +8,7 @@ import { HTMLAttributes, useEffect, useState } from 'react'
|
|||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { SimpleUserAvatar } from '../UserAvatar'
|
import { SimpleUserAvatar } from '../UserAvatar'
|
||||||
import { SimpleUsername } from '../Username'
|
import { SimpleUsername } from '../Username'
|
||||||
|
import { useMuteList } from '@/providers/MuteListProvider'
|
||||||
|
|
||||||
export default function Mentions({
|
export default function Mentions({
|
||||||
content,
|
content,
|
||||||
@@ -22,6 +23,7 @@ export default function Mentions({
|
|||||||
}) {
|
}) {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { pubkey } = useNostr()
|
const { pubkey } = useNostr()
|
||||||
|
const { mutePubkeys } = useMuteList()
|
||||||
const [potentialMentions, setPotentialMentions] = useState<string[]>([])
|
const [potentialMentions, setPotentialMentions] = useState<string[]>([])
|
||||||
const [parentEventPubkey, setParentEventPubkey] = useState<string | undefined>()
|
const [parentEventPubkey, setParentEventPubkey] = useState<string | undefined>()
|
||||||
const [removedPubkeys, setRemovedPubkeys] = useState<string[]>([])
|
const [removedPubkeys, setRemovedPubkeys] = useState<string[]>([])
|
||||||
@@ -36,7 +38,15 @@ export default function Mentions({
|
|||||||
}
|
}
|
||||||
setPotentialMentions(potentialMentions)
|
setPotentialMentions(potentialMentions)
|
||||||
setRemovedPubkeys((pubkeys) => {
|
setRemovedPubkeys((pubkeys) => {
|
||||||
return pubkeys.filter((p) => potentialMentions.includes(p))
|
return Array.from(
|
||||||
|
new Set(
|
||||||
|
pubkeys
|
||||||
|
.filter((p) => potentialMentions.includes(p))
|
||||||
|
.concat(
|
||||||
|
potentialMentions.filter((p) => mutePubkeys.includes(p) && p !== _parentEventPubkey)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}, [content, parentEvent, pubkey])
|
}, [content, parentEvent, pubkey])
|
||||||
|
|||||||
Reference in New Issue
Block a user