about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-08-28 17:08:21 -0700
committerGitHub <noreply@github.com>2023-08-28 17:08:21 -0700
commite2f0770b88b24f44d066493e5e39f689feb46915 (patch)
tree7f228ad2f24239787af7ed9e88c4d88d8dacee98 /src
parentc77fd588e9c6874b1e8eb4f3130b234fc3cbea63 (diff)
downloadvoidsky-e2f0770b88b24f44d066493e5e39f689feb46915.tar.zst
Remove ability for Post component to load from URI (close #1302) (#1317)
Diffstat (limited to 'src')
-rw-r--r--src/view/com/notifications/FeedItem.tsx5
-rw-r--r--src/view/com/post/Post.tsx28
-rw-r--r--src/view/com/search/SearchResults.tsx7
3 files changed, 7 insertions, 33 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/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} />