diff options
author | Ivan Chen <ivan@tagg.id> | 2021-01-27 16:27:17 -0500 |
---|---|---|
committer | Ivan Chen <ivan@tagg.id> | 2021-01-27 16:27:17 -0500 |
commit | 56612885167c07462363aab6b606c807f58eeba5 (patch) | |
tree | d842cb5fd32b37ddc3e07eb6847ef3254abb2cb2 /src/components/comments/CommentTile.tsx | |
parent | fb69ccebb05d2ec54d85576d23989e7309349830 (diff) |
fixed not refreshing
Diffstat (limited to 'src/components/comments/CommentTile.tsx')
-rw-r--r-- | src/components/comments/CommentTile.tsx | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/components/comments/CommentTile.tsx b/src/components/comments/CommentTile.tsx index e12276a9..58d2be25 100644 --- a/src/components/comments/CommentTile.tsx +++ b/src/components/comments/CommentTile.tsx @@ -1,4 +1,4 @@ -import React, {Fragment, useRef, useState} from 'react'; +import React, {Fragment, useEffect, useRef, useState} from 'react'; import {Text, View} from 'react-native-animatable'; import {ProfilePreview} from '../profile'; import {CommentType, ScreenType, TypeOfComment} from '../../types'; @@ -23,6 +23,7 @@ interface CommentTileProps { screenType: ScreenType; typeOfComment: TypeOfComment; setCommentObjectInFocus?: (comment: CommentType | undefined) => void; + newCommentsAvailable: boolean; setNewCommentsAvailable: (available: boolean) => void; canDelete: boolean; } @@ -32,15 +33,26 @@ const CommentTile: React.FC<CommentTileProps> = ({ screenType, typeOfComment, setCommentObjectInFocus, + newCommentsAvailable, setNewCommentsAvailable, canDelete, }) => { const timePosted = getTimePosted(comment_object.date_created); const [showReplies, setShowReplies] = useState<boolean>(false); + const [newThreadAvailable, setNewThreadAvailable] = useState(true); const swipeRef = useRef<Swipeable>(null); const isThread = typeOfComment === 'Thread'; /** + * Bubbling up, for handling a new comment in a thread. + */ + useEffect(() => { + if (newCommentsAvailable) { + setNewThreadAvailable(true); + } + }, [newCommentsAvailable]); + + /** * Case : A COMMENT IS IN FOCUS && REPLY SECTION IS HIDDEN * Bring the current comment to focus * Case : No COMMENT IS IN FOCUS && REPLY SECTION IS SHOWN @@ -52,6 +64,7 @@ const CommentTile: React.FC<CommentTileProps> = ({ if (!showReplies) { setCommentObjectInFocus(comment_object); } else { + setNewThreadAvailable(true); setCommentObjectInFocus(undefined); } } @@ -150,8 +163,8 @@ const CommentTile: React.FC<CommentTileProps> = ({ <CommentsContainer objectId={comment_object.comment_id} screenType={screenType} - setNewCommentsAvailable={() => {}} - newCommentsAvailable={true} + setNewCommentsAvailable={setNewThreadAvailable} + newCommentsAvailable={newThreadAvailable} typeOfComment={'Thread'} /> )} |