aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-01-27 16:27:17 -0500
committerIvan Chen <ivan@tagg.id>2021-01-27 16:27:17 -0500
commit56612885167c07462363aab6b606c807f58eeba5 (patch)
treed842cb5fd32b37ddc3e07eb6847ef3254abb2cb2
parentfb69ccebb05d2ec54d85576d23989e7309349830 (diff)
fixed not refreshing
-rw-r--r--src/components/comments/CommentTile.tsx19
-rw-r--r--src/components/comments/CommentsContainer.tsx1
-rw-r--r--src/services/CommentService.ts1
3 files changed, 17 insertions, 4 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'}
/>
)}
diff --git a/src/components/comments/CommentsContainer.tsx b/src/components/comments/CommentsContainer.tsx
index fd4b32af..d8134caf 100644
--- a/src/components/comments/CommentsContainer.tsx
+++ b/src/components/comments/CommentsContainer.tsx
@@ -83,6 +83,7 @@ const CommentsContainer: React.FC<CommentsContainerProps> = ({
screenType={screenType}
typeOfComment={typeOfComment}
setCommentObjectInFocus={setCommentObjectInFocus}
+ newCommentsAvailable={newCommentsAvailable}
setNewCommentsAvailable={setNewCommentsAvailable}
canDelete={comment.commenter.username === loggedInUsername}
/>
diff --git a/src/services/CommentService.ts b/src/services/CommentService.ts
index a9a01d77..2faaa8db 100644
--- a/src/services/CommentService.ts
+++ b/src/services/CommentService.ts
@@ -23,7 +23,6 @@ export const getComments = async (
const status = response.status;
if (status === 200) {
comments = await response.json();
- console.log(comments[0]);
} else {
console.log('Could not load comments');
}