From 751cf26be6ff598bd1ef213e4a60df5f0db8ceed Mon Sep 17 00:00:00 2001 From: Dessalines Date: Fri, 5 Apr 2019 13:22:59 -0700 Subject: Adding comment permalinks. Fixes #18 --- ui/src/components/post.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'ui/src/components/post.tsx') diff --git a/ui/src/components/post.tsx b/ui/src/components/post.tsx index 2a870c4d..e7c66e94 100644 --- a/ui/src/components/post.tsx +++ b/ui/src/components/post.tsx @@ -21,6 +21,7 @@ interface PostState { commentSort: CommentSortType; community: Community; moderators: Array; + scrolled: boolean; } export class Post extends Component { @@ -31,7 +32,8 @@ export class Post extends Component { comments: [], commentSort: CommentSortType.Hot, community: null, - moderators: [] + moderators: [], + scrolled: false } constructor(props, context) { @@ -60,6 +62,15 @@ export class Post extends Component { autosize(document.querySelectorAll('textarea')); } + componentDidUpdate(lastProps: any, lastState: PostState, snapshot: any) { + if (!this.state.scrolled && lastState.comments.length > 0 && window.location.href.includes('#comment-')) { + let id = window.location.hash.split("#")[2]; + var elmnt = document.getElementById(`${id}`); + elmnt.scrollIntoView(); + this.state.scrolled = true; + } + } + render() { return (
@@ -294,7 +305,7 @@ export class CommentNode extends Component { render() { let node = this.props.node; return ( -
+
{node.comment.score}
@@ -336,7 +347,7 @@ export class CommentNode extends Component { }
  • - link + link
  • -- cgit v1.2.3