diff --git a/client-app/components/feed/PostCard.tsx b/client-app/components/feed/PostCard.tsx index 786860e..1778c21 100644 --- a/client-app/components/feed/PostCard.tsx +++ b/client-app/components/feed/PostCard.tsx @@ -183,16 +183,20 @@ function PostCardInner({ post, likedByMe, onStatsChanged, onDeleted, compact }: return ( <> - ({ + {/* Outer container is a plain View so layout styles (padding, row + direction) are static and always applied. Pressable's dynamic + style-function has been observed to drop properties between + renders on some RN versions — we hit that with the FAB, so + we're not relying on it here either. Tap handling lives on the + content-column Pressable (covers ~90% of the card area) plus a + separate Pressable around the avatar. */} + {/* Avatar — own tap target (opens author profile). Explicit width on the wrapper (width:44) so the flex-row sibling below computes @@ -201,9 +205,21 @@ function PostCardInner({ post, likedByMe, onStatsChanged, onDeleted, compact }: - {/* Content column. overflow:'hidden' prevents unbreakable tokens - from drawing past the right edge of the card. */} - + {/* Content column. Pressable so the card body is tappable → + detail; onLongPress routes to the context menu. overflow: + 'hidden' prevents unbreakable tokens from drawing past the + right edge. */} + ({ + flex: 1, + marginLeft: 10, + minWidth: 0, + overflow: 'hidden', + opacity: pressed ? 0.85 : 1, + })} + > {/* Header row — name + time on ONE line. Two siblings: the author-link Pressable (flex:1, row, so it expands; name inside gets numberOfLines:1 + flexShrink:1 so @@ -361,8 +377,8 @@ function PostCardInner({ post, likedByMe, onStatsChanged, onDeleted, compact }: /> - - + +