about summary refs log tree commit diff
path: root/src/state/threadgate-hidden-replies.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/state/threadgate-hidden-replies.tsx')
-rw-r--r--src/state/threadgate-hidden-replies.tsx14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/state/threadgate-hidden-replies.tsx b/src/state/threadgate-hidden-replies.tsx
index 60806f570..9d116c7f9 100644
--- a/src/state/threadgate-hidden-replies.tsx
+++ b/src/state/threadgate-hidden-replies.tsx
@@ -83,3 +83,17 @@ export function useMergedThreadgateHiddenReplies({
     return set
   }, [uris, recentlyUnhiddenUris, threadgateRecord])
 }
+
+export function useMergeThreadgateHiddenReplies() {
+  const {uris, recentlyUnhiddenUris} = useThreadgateHiddenReplyUris()
+  return React.useCallback(
+    (threadgate?: AppBskyFeedThreadgate.Record) => {
+      const set = new Set([...(threadgate?.hiddenReplies || []), ...uris])
+      for (const uri of recentlyUnhiddenUris) {
+        set.delete(uri)
+      }
+      return set
+    },
+    [uris, recentlyUnhiddenUris],
+  )
+}