Solving the issue of UI disruption when the review is deleted without refreshing (#29951)

**After deleting the review and refreshing, the display is normal.
However, Without refreshing, the interface will be broken**

https://github.com/go-gitea/gitea/assets/37935145/f5cb19a6-eb26-47b0-b8ee-15b575bbe1ac

**after**

https://github.com/go-gitea/gitea/assets/37935145/aa65922c-2ebf-4fce-ad91-35661f70329a

(cherry picked from commit 0b4ff15356769db092fd7718da553e8a216c32fa)
This commit is contained in:
HEREYUA 2024-03-21 18:38:27 +08:00 committed by Earl Warren
parent faed93370f
commit 0f4614004e
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00

View file

@ -162,7 +162,8 @@ export function initRepoIssueCommentDelete() {
const response = await POST($this.data('url')); const response = await POST($this.data('url'));
if (!response.ok) throw new Error('Failed to delete comment'); if (!response.ok) throw new Error('Failed to delete comment');
const $conversationHolder = $this.closest('.conversation-holder'); const $conversationHolder = $this.closest('.conversation-holder');
const $parentTimelineItem = $this.closest('.timeline-item');
const $parentTimelineGroup = $this.closest('.timeline-item-group');
// Check if this was a pending comment. // Check if this was a pending comment.
if ($conversationHolder.find('.pending-label').length) { if ($conversationHolder.find('.pending-label').length) {
const $counter = $('#review-box .review-comments-counter'); const $counter = $('#review-box .review-comments-counter');
@ -185,6 +186,11 @@ export function initRepoIssueCommentDelete() {
} }
$conversationHolder.remove(); $conversationHolder.remove();
} }
// Check if there is no review content, move the time avatar upward to avoid overlapping the content below.
if (!$parentTimelineGroup.find('.timeline-item.comment').length && !$parentTimelineItem.find('.conversation-holder').length) {
const $timelineAvatar = $parentTimelineGroup.find('.timeline-avatar');
$timelineAvatar.removeClass('timeline-avatar-offset');
}
} catch (error) { } catch (error) {
console.error(error); console.error(error);
} }