diff --git a/public/custom.css b/public/custom.css index 31e6086..91cb348 100644 --- a/public/custom.css +++ b/public/custom.css @@ -1,3 +1,15 @@ .replies { margin-left: 1em; } +a:hover { + text-decoration: none; + color: #007bff; +} +.comment-meta a { + display: none; +} +.comment-meta:hover a { + display: inline; + text-decoration: none; + color: #007bff; +} diff --git a/src/Components/Comments/SingleComment/ExpandedComment.js b/src/Components/Comments/SingleComment/ExpandedComment.js index bfb3b1f..2e70758 100644 --- a/src/Components/Comments/SingleComment/ExpandedComment.js +++ b/src/Components/Comments/SingleComment/ExpandedComment.js @@ -3,18 +3,13 @@ import CommentReply from './CommentReply' const ExpandedComment = props => { return ( -
  • props.showCollapseLink(props.id, true)} - onMouseLeave={() => props.showCollapseLink(props.id, false)} - > +
  • profile
    username -
    +
    {props.createdAt} {props.replies.length > 0 ? ( { className="ml-3" style={{ fontVariant: 'small-caps', - display: props.displayCollapse || 'none', }} - onClick={() => props.toggleCollapse(props.id, !props.collapsed)} + onClick={() => + props.toggleCollapse(props.id, !props.collapsedThread) + } > - {props.collapsed ? 'expand' : 'collapse'} + {props.collapsedThread ? 'expand' : 'collapse'} ) : ( '' diff --git a/src/Components/Comments/SingleComment/index.js b/src/Components/Comments/SingleComment/index.js index fd1ba90..1b4417b 100644 --- a/src/Components/Comments/SingleComment/index.js +++ b/src/Components/Comments/SingleComment/index.js @@ -3,7 +3,7 @@ import ExpandedComment from './ExpandedComment' import CollapsedComment from './CollapsedComment' const SingleComment = props => { - if (props.hidden) return + if (props.collapsed) return return } diff --git a/src/Components/Comments/index.js b/src/Components/Comments/index.js index 7233ce7..bf5defc 100644 --- a/src/Components/Comments/index.js +++ b/src/Components/Comments/index.js @@ -7,29 +7,18 @@ class ThreadList extends React.Component { super() this.state = { activeReplyId: null } this.toggleCollapse = this.toggleCollapse.bind(this) - this.showCollapseLink = this.showCollapseLink.bind(this) this.showReply = this.showReply.bind(this) } - showCollapseLink(id, collapsed) { - this.setState({ displayCollapse: 'block' }) - const otherComments = this.props.comments.filter(c => c.id !== id) - const comment = this.props.comments.find(c => c.id === id) - comment['displayCollapse'] = collapsed - //console.log('displayed collapse for: ', comment) - this.setState({ comments: otherComments.concat(comment) }) - } - toggleCollapse(id, collapsed) { const otherComments = this.props.comments.filter(c => c.id !== id) var parent = this.props.comments.find(c => c.id === id) - //console.log('toggling', parent) - parent['collapsed'] = collapsed + parent['collapsedThread'] = collapsed if (!collapsed) { // when parent was a reply in a previously collapsed thread // and is to be expanded it will be marked hidden // and needs to be unhidden - parent['hidden'] = false + parent['collapsed'] = false } this.setState({ comments: otherComments.concat(parent) }) parent.replies.map(comment => this.toggleReplies(comment.id, collapsed)) @@ -37,11 +26,9 @@ class ThreadList extends React.Component { toggleReplies(id, collapsed) { const otherComments = this.props.comments.filter(c => c.id !== id) var comment = this.props.comments.find(c => c.id === id) - comment['hidden'] = collapsed + comment['collapsed'] = collapsed this.setState({ comments: otherComments.concat(comment) }) - if (comment.replies) { - comment.replies.map(c => this.toggleReplies(c.id, collapsed)) - } + comment.replies.map(c => this.toggleReplies(c.id, collapsed)) } handleChange(e) { @@ -73,7 +60,6 @@ class ThreadList extends React.Component {