From ffc8ce7baef0715bdc2d04cfc1e18379426a1e89 Mon Sep 17 00:00:00 2001
From: zeripath <art27@cantab.net>
Date: Sat, 31 Oct 2020 04:35:35 +0000
Subject: [PATCH] Fix scrolling to resolved comment anchors (#13343)

* Fix scrolling to resolved comment anchors

As described on discord, when the window.location.hash refers to a
resolved comment then the scroll to functionality does not work.

This PR fixes this.

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Apply suggestions from code review

Co-authored-by: silverwind <me@silverwind.io>

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
---
 web_src/js/index.js | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/web_src/js/index.js b/web_src/js/index.js
index cdabffe04d..7c56703144 100644
--- a/web_src/js/index.js
+++ b/web_src/js/index.js
@@ -1172,6 +1172,22 @@ async function initRepository() {
 }
 
 function initPullRequestReview() {
+  if (window.location.hash && window.location.hash.startsWith('#issuecomment-')) {
+    const commentDiv = $(window.location.hash);
+    if (commentDiv) {
+      // get the name of the parent id
+      const groupID = commentDiv.closest('div[id^="code-comments-"]').attr('id');
+      if (groupID && groupID.startsWith('code-comments-')) {
+        const id = groupID.substr(14);
+        $(`#show-outdated-${id}`).addClass('hide');
+        $(`#code-comments-${id}`).removeClass('hide');
+        $(`#code-preview-${id}`).removeClass('hide');
+        $(`#hide-outdated-${id}`).removeClass('hide');
+        $(window).scrollTop(commentDiv.offset().top);
+      }
+    }
+  }
+
   $('.show-outdated').on('click', function (e) {
     e.preventDefault();
     const id = $(this).data('comment');