about summary refs log tree commit diff
path: root/src/state/queries/usePostThread
diff options
context:
space:
mode:
Diffstat (limited to 'src/state/queries/usePostThread')
-rw-r--r--src/state/queries/usePostThread/traversal.ts15
-rw-r--r--src/state/queries/usePostThread/views.ts3
2 files changed, 12 insertions, 6 deletions
diff --git a/src/state/queries/usePostThread/traversal.ts b/src/state/queries/usePostThread/traversal.ts
index 7d8cd6464..2809d32e9 100644
--- a/src/state/queries/usePostThread/traversal.ts
+++ b/src/state/queries/usePostThread/traversal.ts
@@ -372,16 +372,21 @@ export function sortAndAnnotateThreadItems(
           /*
            * Tree-view only.
            *
-           * If there's an upcoming parent read more, this branch is part of the
-           * last branch of the sub-tree, and the item itself is the last child,
-           * insert the parent "read more".
+           * If there's an upcoming parent read more, this branch is part of a
+           * branch of the sub-tree that is deeper than the
+           * `upcomingParentReadMore`, and the item following the current item
+           * is either undefined or less-or-equal-to the depth of the
+           * `upcomingParentReadMore`, then we know it's time to drop in the
+           * parent read more.
            */
           if (
             view === 'tree' &&
             metadata.upcomingParentReadMore &&
-            metadata.isPartOfLastBranchFromDepth ===
+            metadata.isPartOfLastBranchFromDepth &&
+            metadata.isPartOfLastBranchFromDepth >=
               metadata.upcomingParentReadMore.depth &&
-            metadata.isLastChild
+            (metadata.nextItemDepth === undefined ||
+              metadata.nextItemDepth <= metadata.upcomingParentReadMore.depth)
           ) {
             subset.splice(
               i + 1,
diff --git a/src/state/queries/usePostThread/views.ts b/src/state/queries/usePostThread/views.ts
index 71acfc77b..4e7140eab 100644
--- a/src/state/queries/usePostThread/views.ts
+++ b/src/state/queries/usePostThread/views.ts
@@ -78,7 +78,8 @@ export function threadPost({
   const blurred = modui.blur || modui.filter
   const muted = (modui.blurs[0] || modui.filters[0])?.type === 'muted'
   const hiddenByThreadgate = threadgateHiddenReplies.has(uri)
-  const isBlurred = hiddenByThreadgate || blurred || muted
+  const isOwnPost = value.post.author.did === moderationOpts.userDid
+  const isBlurred = (hiddenByThreadgate || blurred || muted) && !isOwnPost
   return {
     type: 'threadPost',
     key: uri,