about summary refs log tree commit diff
path: root/src/view/com/posts/FeedSlice.tsx
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2023-12-07 15:44:22 -0600
committerGitHub <noreply@github.com>2023-12-07 13:44:22 -0800
commit174a1622c9dc34d580d3deb1f52f85aec4ac9f42 (patch)
treed9b6ffe6c8ba20500f55ec7256282e09064fa45f /src/view/com/posts/FeedSlice.tsx
parent940fc0ea5c3aefb49f39d8de9398a306882ed567 (diff)
downloadvoidsky-174a1622c9dc34d580d3deb1f52f85aec4ac9f42.tar.zst
Hoist moderation, attempt to fill feed up to 30 (#2134)
* Move moderatePost up to feed query

* Attemt to fill page up to 30

* Add the 'ensure full page' behavior to notifs

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/view/com/posts/FeedSlice.tsx')
-rw-r--r--src/view/com/posts/FeedSlice.tsx34
1 files changed, 6 insertions, 28 deletions
diff --git a/src/view/com/posts/FeedSlice.tsx b/src/view/com/posts/FeedSlice.tsx
index a3bacdc1e..c1a8c0e18 100644
--- a/src/view/com/posts/FeedSlice.tsx
+++ b/src/view/com/posts/FeedSlice.tsx
@@ -1,7 +1,7 @@
 import React, {memo} from 'react'
 import {StyleSheet, View} from 'react-native'
 import {FeedPostSlice} from '#/state/queries/post-feed'
-import {AtUri, moderatePost, ModerationOpts} from '@atproto/api'
+import {AtUri} from '@atproto/api'
 import {Link} from '../util/Link'
 import {Text} from '../util/text/Text'
 import Svg, {Circle, Line} from 'react-native-svg'
@@ -9,29 +9,7 @@ import {FeedItem} from './FeedItem'
 import {usePalette} from 'lib/hooks/usePalette'
 import {makeProfileLink} from 'lib/routes/links'
 
-let FeedSlice = ({
-  slice,
-  ignoreFilterFor,
-  moderationOpts,
-}: {
-  slice: FeedPostSlice
-  ignoreFilterFor?: string
-  moderationOpts: ModerationOpts
-}): React.ReactNode => {
-  const moderations = React.useMemo(() => {
-    return slice.items.map(item => moderatePost(item.post, moderationOpts))
-  }, [slice, moderationOpts])
-
-  // apply moderation filter
-  for (let i = 0; i < slice.items.length; i++) {
-    if (
-      moderations[i]?.content.filter &&
-      slice.items[i].post.author.did !== ignoreFilterFor
-    ) {
-      return null
-    }
-  }
-
+let FeedSlice = ({slice}: {slice: FeedPostSlice}): React.ReactNode => {
   if (slice.isThread && slice.items.length > 3) {
     const last = slice.items.length - 1
     return (
@@ -41,7 +19,7 @@ let FeedSlice = ({
           post={slice.items[0].post}
           record={slice.items[0].record}
           reason={slice.items[0].reason}
-          moderation={moderations[0]}
+          moderation={slice.items[0].moderation}
           isThreadParent={isThreadParentAt(slice.items, 0)}
           isThreadChild={isThreadChildAt(slice.items, 0)}
         />
@@ -50,7 +28,7 @@ let FeedSlice = ({
           post={slice.items[1].post}
           record={slice.items[1].record}
           reason={slice.items[1].reason}
-          moderation={moderations[1]}
+          moderation={slice.items[1].moderation}
           isThreadParent={isThreadParentAt(slice.items, 1)}
           isThreadChild={isThreadChildAt(slice.items, 1)}
         />
@@ -60,7 +38,7 @@ let FeedSlice = ({
           post={slice.items[last].post}
           record={slice.items[last].record}
           reason={slice.items[last].reason}
-          moderation={moderations[last]}
+          moderation={slice.items[last].moderation}
           isThreadParent={isThreadParentAt(slice.items, last)}
           isThreadChild={isThreadChildAt(slice.items, last)}
           isThreadLastChild
@@ -77,7 +55,7 @@ let FeedSlice = ({
           post={slice.items[i].post}
           record={slice.items[i].record}
           reason={slice.items[i].reason}
-          moderation={moderations[i]}
+          moderation={slice.items[i].moderation}
           isThreadParent={isThreadParentAt(slice.items, i)}
           isThreadChild={isThreadChildAt(slice.items, i)}
           isThreadLastChild={