From fc3acecf614fd83370829b252ee64ff97cd9958f Mon Sep 17 00:00:00 2001 From: Chi Vinh Le Date: Mon, 31 Jul 2017 20:09:16 +0700 Subject: [PATCH] Refactor isCommentActive logic --- client/coral-embed-stream/src/components/Comment.js | 4 ++-- client/coral-embed-stream/src/components/Stream.js | 3 ++- client/coral-framework/utils/index.js | 4 ++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/client/coral-embed-stream/src/components/Comment.js b/client/coral-embed-stream/src/components/Comment.js index 8bece5dc5..96a93728c 100644 --- a/client/coral-embed-stream/src/components/Comment.js +++ b/client/coral-embed-stream/src/components/Comment.js @@ -21,7 +21,7 @@ import CommentContent from './CommentContent'; import Slot from 'coral-framework/components/Slot'; import IgnoredCommentTombstone from './IgnoredCommentTombstone'; import {EditableCommentContent} from './EditableCommentContent'; -import {getActionSummary, iPerformedThisAction, forEachError} from 'coral-framework/utils'; +import {getActionSummary, iPerformedThisAction, forEachError, isCommentActive} from 'coral-framework/utils'; import t from 'coral-framework/services/i18n'; const isStaff = (tags) => !tags.every((t) => t.tag.name !== 'STAFF'); @@ -317,7 +317,7 @@ export default class Comment extends React.Component { } = this.props; const view = this.getVisibileReplies(); - const isActive = ['NONE', 'ACCEPTED'].indexOf(comment.status) >= 0; + const isActive = isCommentActive(comment.status); const {loadingState} = this.state; const isPending = comment.id.indexOf('pending') >= 0; const isHighlighted = highlighted === comment.id; diff --git a/client/coral-embed-stream/src/components/Stream.js b/client/coral-embed-stream/src/components/Stream.js index 66ffc0fc8..667b57a8a 100644 --- a/client/coral-embed-stream/src/components/Stream.js +++ b/client/coral-embed-stream/src/components/Stream.js @@ -13,6 +13,7 @@ import t, {timeago} from 'coral-framework/services/i18n'; import {getSlotComponents} from 'coral-framework/helpers/plugins'; import CommentBox from 'talk-plugin-commentbox/CommentBox'; import QuestionBox from 'talk-plugin-questionbox/QuestionBox'; +import {isCommentActive} from 'coral-framework/utils'; import {Button, TabBar, Tab, TabCount, TabContent, TabPane} from 'coral-ui'; import cn from 'classnames'; @@ -105,7 +106,7 @@ class Stream extends React.Component { // even though the permalinked comment is the highlighted one, we're displaying its parent + replies let highlightedComment = comment && getTopLevelParent(comment); if (highlightedComment) { - const isInactive = ['NONE', 'ACCEPTED'].indexOf(comment.status) === -1; + const isInactive = !isCommentActive(comment.status); if (comment.parent && isInactive) { // the highlighted comment is not active and as such not in the replies, so we diff --git a/client/coral-framework/utils/index.js b/client/coral-framework/utils/index.js index 3768b3940..96d9ed629 100644 --- a/client/coral-framework/utils/index.js +++ b/client/coral-framework/utils/index.js @@ -187,3 +187,7 @@ export function buildUrl({protocol, hostname, port, pathname, search, hash} = wi export function getSlotFragmentSpreads(slots, resource) { return `...${slots.map((s) => `TalkSlot_${capitalize(s)}_${resource}`).join('\n...')}\n`; } + +export function isCommentActive(commentStatus) { + return ['NONE', 'ACCEPTED'].indexOf(commentStatus) >= 0; +}