about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAnsh Nanda <anshnanda10@gmail.com>2023-08-28 17:49:14 -0700
committerAnsh Nanda <anshnanda10@gmail.com>2023-08-28 17:49:14 -0700
commitb38629b9b55de71b8e01978c869269b88584834e (patch)
tree4c8eea8ff26f0440be3628c7bbe58b5c11fd6584 /src
parentb2dd4ea0f5c2913ad1ca71755913855b7ac0a021 (diff)
parente2f0770b88b24f44d066493e5e39f689feb46915 (diff)
downloadvoidsky-b38629b9b55de71b8e01978c869269b88584834e.tar.zst
Merge branch 'main' into ansh/app-812-add-custom-feed-discovery-to-onboarding
Diffstat (limited to 'src')
-rw-r--r--src/view/com/notifications/FeedItem.tsx5
-rw-r--r--src/view/com/post-thread/PostThread.tsx5
-rw-r--r--src/view/com/post/Post.tsx28
-rw-r--r--src/view/com/search/SearchResults.tsx7
4 files changed, 11 insertions, 34 deletions
diff --git a/src/view/com/notifications/FeedItem.tsx b/src/view/com/notifications/FeedItem.tsx
index 7b07bb30f..3e0d9f5c3 100644
--- a/src/view/com/notifications/FeedItem.tsx
+++ b/src/view/com/notifications/FeedItem.tsx
@@ -122,7 +122,7 @@ export const FeedItem = observer(function ({
   }
 
   if (item.isReply || item.isMention || item.isQuote) {
-    if (item.additionalPost?.error) {
+    if (!item.additionalPost || item.additionalPost?.error) {
       // hide errors - it doesnt help the user to show them
       return <View />
     }
@@ -134,8 +134,7 @@ export const FeedItem = observer(function ({
         noFeedback
         accessible={false}>
         <Post
-          uri={item.uri}
-          initView={item.additionalPost}
+          view={item.additionalPost}
           style={
             item.isRead
               ? undefined
diff --git a/src/view/com/post-thread/PostThread.tsx b/src/view/com/post-thread/PostThread.tsx
index e3dd2cf1d..3e951dbf0 100644
--- a/src/view/com/post-thread/PostThread.tsx
+++ b/src/view/com/post-thread/PostThread.tsx
@@ -1,4 +1,5 @@
 import React, {useRef} from 'react'
+import {runInAction} from 'mobx'
 import {observer} from 'mobx-react-lite'
 import {
   ActivityIndicator,
@@ -361,7 +362,9 @@ function* flattenThread(
       }
     }
   } else if (!isAscending && !post.parent && post.post.replyCount) {
-    post._hasMore = true
+    runInAction(() => {
+      post._hasMore = true
+    })
   }
 }
 
diff --git a/src/view/com/post/Post.tsx b/src/view/com/post/Post.tsx
index 86cb24f9b..94dfe6e8b 100644
--- a/src/view/com/post/Post.tsx
+++ b/src/view/com/post/Post.tsx
@@ -1,4 +1,4 @@
-import React, {useEffect, useState, useMemo} from 'react'
+import React, {useState, useMemo} from 'react'
 import {
   ActivityIndicator,
   Linking,
@@ -32,35 +32,19 @@ import {getTranslatorLink, isPostInLanguage} from '../../../locale/helpers'
 import {makeProfileLink} from 'lib/routes/links'
 
 export const Post = observer(function Post({
-  uri,
-  initView,
+  view,
   showReplyLine,
   hideError,
   style,
 }: {
-  uri: string
-  initView?: PostThreadModel
+  view: PostThreadModel
   showReplyLine?: boolean
   hideError?: boolean
   style?: StyleProp<ViewStyle>
 }) {
   const pal = usePalette('default')
-  const store = useStores()
-  const [view, setView] = useState<PostThreadModel | undefined>(initView)
   const [deleted, setDeleted] = useState(false)
 
-  useEffect(() => {
-    if (initView || view?.params.uri === uri) {
-      if (initView !== view) {
-        setView(initView)
-      }
-      return
-    }
-    const newView = new PostThreadModel(store, {uri, depth: 0})
-    setView(newView)
-    newView.setup().catch(err => store.log.error('Failed to fetch post', err))
-  }, [initView, setView, uri, view, view?.params.uri, store])
-
   // deleted
   // =
   if (deleted) {
@@ -69,11 +53,7 @@ export const Post = observer(function Post({
 
   // loading
   // =
-  if (
-    !view ||
-    (!view.hasContent && view.isLoading) ||
-    view.params.uri !== uri
-  ) {
+  if (!view.hasContent && view.isLoading) {
     return (
       <View style={pal.view}>
         <ActivityIndicator />
diff --git a/src/view/com/search/SearchResults.tsx b/src/view/com/search/SearchResults.tsx
index bf623d93e..984277705 100644
--- a/src/view/com/search/SearchResults.tsx
+++ b/src/view/com/search/SearchResults.tsx
@@ -72,12 +72,7 @@ const PostResults = observer(({model}: {model: SearchUIModel}) => {
   return (
     <ScrollView style={[pal.view]}>
       {model.posts.map(post => (
-        <Post
-          key={post.resolvedUri}
-          uri={post.resolvedUri}
-          initView={post}
-          hideError
-        />
+        <Post key={post.resolvedUri} view={post} hideError />
       ))}
       <View style={s.footerSpacer} />
       <View style={s.footerSpacer} />