diff options
author | dan <dan.abramov@gmail.com> | 2024-07-25 23:02:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-25 23:02:37 +0100 |
commit | ac1538baad6acc6a8af6ee788f0603ae45f2d963 (patch) | |
tree | 42aed4be5da741b04721b80ef0bfb5270f366c08 /src/state/queries/post-feed.ts | |
parent | 3914025227f7b63039928f771f351c3e9bb48581 (diff) | |
download | voidsky-ac1538baad6acc6a8af6ee788f0603ae45f2d963.tar.zst |
Refactor feed slices (#4834)
* Copy FeedViewPost into FeedSliceItem * Explicitly construct feed slice items by copying known fields * Type rootItem as FeedViewPost for now Mergefeed logic relies on that. * Unify reason and __source for slice items * Move feedContext out of FeedSliceItem * Remove slice.isFlattenedReply * Remove unnused slice.ts * Inline slice.isFullThread * Refactor condition for clarity * Extract slice.includesThreadRoot * Encapsulate more usages of slice.rootItem into slice * Rename slice.rootItem so semi-private slice._feedPost * Move reason into slice * Simplify slice ctor argument * Reorder getters to reduce diff * Make feedContext a getter to reduce diff
Diffstat (limited to 'src/state/queries/post-feed.ts')
-rw-r--r-- | src/state/queries/post-feed.ts | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/state/queries/post-feed.ts b/src/state/queries/post-feed.ts index c1484a59e..62ea0f33f 100644 --- a/src/state/queries/post-feed.ts +++ b/src/state/queries/post-feed.ts @@ -314,7 +314,7 @@ export function usePostFeedQuery( if (isDiscover) { userActionHistory.seen( slice.items.map(item => ({ - feedContext: item.feedContext, + feedContext: slice.feedContext, likeCount: item.post.likeCount ?? 0, repostCount: item.post.repostCount ?? 0, replyCount: item.post.replyCount ?? 0, @@ -329,7 +329,7 @@ export function usePostFeedQuery( const feedPostSlice: FeedPostSlice = { _reactKey: slice._reactKey, _isFeedPostSlice: true, - rootUri: slice.rootItem.post.uri, + rootUri: slice.uri, isThread: slice.items.length > 1 && slice.items.every( @@ -365,11 +365,8 @@ export function usePostFeedQuery( uri: item.post.uri, post: item.post, record: item.post.record, - reason: - i === 0 && slice.source - ? slice.source - : item.reason, - feedContext: item.feedContext || slice.feedContext, + reason: slice.reason, + feedContext: slice.feedContext, moderation: moderations[i], parentAuthor, isParentBlocked, |