Optimistic hidden replies (#4977)

This commit is contained in:
Eric Bailey
2024-08-23 14:35:48 -05:00
committed by GitHub
parent 5ec8761b29
commit 425dd5f27f
9 changed files with 70 additions and 129 deletions
+16
View File
@@ -1,4 +1,5 @@
import React from 'react'
import {AppBskyFeedThreadgate} from '@atproto/api'
type StateContext = {
uris: Set<string>
@@ -67,3 +68,18 @@ export function useThreadgateHiddenReplyUris() {
export function useThreadgateHiddenReplyUrisAPI() {
return React.useContext(ApiContext)
}
export function useMergedThreadgateHiddenReplies({
threadgateRecord,
}: {
threadgateRecord?: AppBskyFeedThreadgate.Record
}) {
const {uris, recentlyUnhiddenUris} = useThreadgateHiddenReplyUris()
return React.useMemo(() => {
const set = new Set([...(threadgateRecord?.hiddenReplies || []), ...uris])
for (const uri of recentlyUnhiddenUris) {
set.delete(uri)
}
return set
}, [uris, recentlyUnhiddenUris, threadgateRecord])
}