From 13fa3b45536fc9cd6e4ae89ba9b1ef2204c96bff Mon Sep 17 00:00:00 2001 From: Jimmy Praet Date: Wed, 30 Jun 2021 23:50:40 +0200 Subject: [PATCH] Wrap around for previous/next buttons Fixes #16317 Wrap around from last to first comment when clicking "Next" on last comment. Wrap around from first to last comment when clicking "Previous" on first comment. --- web_src/js/index.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/web_src/js/index.js b/web_src/js/index.js index 0693175a00985..0b5ac493ed6a8 100644 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -947,21 +947,19 @@ async function initRepository() { const $conversation = $(e.currentTarget).closest('.comment-code-cloud'); const $conversations = $('.comment-code-cloud:not(.hide)'); const index = $conversations.index($conversation); - if (index !== 0) { - const $previousConversation = $conversations.eq(index - 1); - const anchor = $previousConversation.find('.comment').first().attr('id'); - window.location.href = `#${anchor}`; - } + const previousIndex = index > 0 ? index - 1 : $conversations.length - 1; + const $previousConversation = $conversations.eq(previousIndex); + const anchor = $previousConversation.find('.comment').first().attr('id'); + window.location.href = `#${anchor}`; }); $(document).on('click', '.next-conversation', (e) => { const $conversation = $(e.currentTarget).closest('.comment-code-cloud'); const $conversations = $('.comment-code-cloud:not(.hide)'); const index = $conversations.index($conversation); - if (index !== $conversations.length - 1) { - const $nextConversation = $conversations.eq(index + 1); - const anchor = $nextConversation.find('.comment').first().attr('id'); - window.location.href = `#${anchor}`; - } + const nextIndex = index < $conversations.length - 1 ? index + 1 : 0; + const $nextConversation = $conversations.eq(nextIndex); + const anchor = $nextConversation.find('.comment').first().attr('id'); + window.location.href = `#${anchor}`; }); // Quote reply