about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/view/com/post-thread/PostThread.tsx9
-rw-r--r--src/view/screens/PostThread.tsx4
2 files changed, 11 insertions, 2 deletions
diff --git a/src/view/com/post-thread/PostThread.tsx b/src/view/com/post-thread/PostThread.tsx
index 633968c87..051bc7849 100644
--- a/src/view/com/post-thread/PostThread.tsx
+++ b/src/view/com/post-thread/PostThread.tsx
@@ -1,4 +1,4 @@
-import React, {useRef} from 'react'
+import React, {useEffect, useRef} from 'react'
 import {
   ActivityIndicator,
   Pressable,
@@ -64,9 +64,11 @@ type YieldedItem =
 
 export function PostThread({
   uri,
+  onCanReply,
   onPressReply,
 }: {
   uri: string | undefined
+  onCanReply: (canReply: boolean) => void
   onPressReply: () => void
 }) {
   const {
@@ -86,6 +88,11 @@ export function PostThread({
         rootPost.author.displayName || `@${rootPost.author.handle}`,
       )}: "${rootPostRecord?.text}"`,
   )
+  useEffect(() => {
+    if (rootPost) {
+      onCanReply(!rootPost.viewer?.replyDisabled)
+    }
+  }, [rootPost, onCanReply])
 
   if (isError || AppBskyFeedDefs.isNotFoundPost(thread)) {
     return (
diff --git a/src/view/screens/PostThread.tsx b/src/view/screens/PostThread.tsx
index 4b1f51748..8e9e399f5 100644
--- a/src/view/screens/PostThread.tsx
+++ b/src/view/screens/PostThread.tsx
@@ -37,6 +37,7 @@ export function PostThreadScreen({route}: Props) {
   const {isMobile} = useWebMediaQueries()
   const uri = makeRecordUri(name, 'app.bsky.feed.post', rkey)
   const {data: resolvedUri, error: uriError} = useResolveUriQuery(uri)
+  const [canReply, setCanReply] = React.useState(false)
 
   useFocusEffect(
     React.useCallback(() => {
@@ -84,10 +85,11 @@ export function PostThreadScreen({route}: Props) {
           <PostThreadComponent
             uri={resolvedUri?.uri}
             onPressReply={onPressReply}
+            onCanReply={setCanReply}
           />
         )}
       </View>
-      {isMobile && (
+      {isMobile && canReply && (
         <Animated.View
           style={[
             styles.prompt,