Move muted threads to new persistence + context (#1838)
This commit is contained in:
parent
4afed4be28
commit
74f8390f1d
12 changed files with 95 additions and 94 deletions
|
@ -33,6 +33,7 @@ import {isEmbedByEmbedder} from 'lib/embeds'
|
|||
import {MAX_POST_LINES} from 'lib/constants'
|
||||
import {countLines} from 'lib/strings/helpers'
|
||||
import {logger} from '#/logger'
|
||||
import {useMutedThreads, useToggleThreadMute} from '#/state/muted-threads'
|
||||
|
||||
export const FeedItem = observer(function FeedItemImpl({
|
||||
item,
|
||||
|
@ -50,6 +51,8 @@ export const FeedItem = observer(function FeedItemImpl({
|
|||
}) {
|
||||
const store = useStores()
|
||||
const pal = usePalette('default')
|
||||
const mutedThreads = useMutedThreads()
|
||||
const toggleThreadMute = useToggleThreadMute()
|
||||
const {track} = useAnalytics()
|
||||
const [deleted, setDeleted] = useState(false)
|
||||
const [limitLines, setLimitLines] = useState(
|
||||
|
@ -114,11 +117,11 @@ export const FeedItem = observer(function FeedItemImpl({
|
|||
Linking.openURL(translatorUrl)
|
||||
}, [translatorUrl])
|
||||
|
||||
const onToggleThreadMute = React.useCallback(async () => {
|
||||
const onToggleThreadMute = React.useCallback(() => {
|
||||
track('FeedItem:ThreadMute')
|
||||
try {
|
||||
await item.toggleThreadMute()
|
||||
if (item.isThreadMuted) {
|
||||
const muted = toggleThreadMute(item.rootUri)
|
||||
if (muted) {
|
||||
Toast.show('You will no longer receive notifications for this thread')
|
||||
} else {
|
||||
Toast.show('You will now receive notifications for this thread')
|
||||
|
@ -126,7 +129,7 @@ export const FeedItem = observer(function FeedItemImpl({
|
|||
} catch (e) {
|
||||
logger.error('Failed to toggle thread mute', {error: e})
|
||||
}
|
||||
}, [track, item])
|
||||
}, [track, toggleThreadMute, item])
|
||||
|
||||
const onDeletePost = React.useCallback(() => {
|
||||
track('FeedItem:PostDelete')
|
||||
|
@ -360,7 +363,7 @@ export const FeedItem = observer(function FeedItemImpl({
|
|||
likeCount={item.post.likeCount}
|
||||
isReposted={!!item.post.viewer?.repost}
|
||||
isLiked={!!item.post.viewer?.like}
|
||||
isThreadMuted={item.isThreadMuted}
|
||||
isThreadMuted={mutedThreads.includes(item.rootUri)}
|
||||
onPressReply={onPressReply}
|
||||
onPressToggleRepost={onPressToggleRepost}
|
||||
onPressToggleLike={onPressToggleLike}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue