From 6495e6d00418792d642be321c5d5a811a331cc55 Mon Sep 17 00:00:00 2001 From: Gusted Date: Thu, 5 May 2022 00:14:07 +0200 Subject: [PATCH 1/8] Add pulse --- web_src/js/features/repo-diff.js | 6 ++++++ web_src/less/animations.less | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/web_src/js/features/repo-diff.js b/web_src/js/features/repo-diff.js index 45dad52fb1e22..3f0e0b6933448 100644 --- a/web_src/js/features/repo-diff.js +++ b/web_src/js/features/repo-diff.js @@ -8,6 +8,12 @@ const {csrfToken} = window.config; export function initRepoDiffReviewButton() { $(document).on('click', 'button[name="is_review"]', (e) => { $(e.target).closest('form').append(''); + + // Watch for the form's submit event. + e.target.closest('form').addEventListener('submit', () => { + // Set a zero-timeout, so this would be executed after the network request has finished. + setTimeout(() => document.querySelector('#review-box').classList.add('pulse')); + }); }); } diff --git a/web_src/less/animations.less b/web_src/less/animations.less index 083e10089d15c..92a3052a1f36b 100644 --- a/web_src/less/animations.less +++ b/web_src/less/animations.less @@ -50,3 +50,19 @@ opacity: 0; } } + +@keyframes pulse { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.8); + } + 100% { + transform: scale(1); + } +} + +.pulse { + animation: pulse 2s linear; +} From e9c9179fbe1ceee0ed014f057e9eff7b8e67788d Mon Sep 17 00:00:00 2001 From: Gusted Date: Thu, 5 May 2022 01:23:57 +0200 Subject: [PATCH 2/8] Add number of pending comments --- routers/web/repo/pull.go | 18 +++++++++++++++++- templates/repo/diff/comments.tmpl | 2 +- templates/repo/diff/new_review.tmpl | 1 + web_src/js/features/repo-diff.js | 14 +++++++++++++- web_src/js/features/repo-issue.js | 13 +++++++++++++ web_src/less/_review.less | 9 +++++++++ 6 files changed, 54 insertions(+), 3 deletions(-) diff --git a/routers/web/repo/pull.go b/routers/web/repo/pull.go index 6cda560f3ca90..1d28b2708a059 100644 --- a/routers/web/repo/pull.go +++ b/routers/web/repo/pull.go @@ -753,11 +753,27 @@ func ViewPullFiles(ctx *context.Context) { if ctx.Written() { return } - ctx.Data["CurrentReview"], err = models.GetCurrentReview(ctx.Doer, issue) + + currentReview, err := models.GetCurrentReview(ctx.Doer, issue) if err != nil && !models.IsErrReviewNotExist(err) { ctx.ServerError("GetCurrentReview", err) return } + numPendingCodeComments := int64(0) + if currentReview != nil { + numPendingCodeComments, err = models.CountComments(&models.FindCommentsOptions{ + Type: models.CommentTypeCode, + ReviewID: currentReview.ID, + IssueID: issue.ID, + }) + if err != nil { + ctx.ServerError("CountComments", err) + return + } + } + ctx.Data["CurrentReview"] = currentReview + ctx.Data["PendingCodeComments"] = numPendingCodeComments + getBranchData(ctx, issue) ctx.Data["IsIssuePoster"] = ctx.IsSigned && issue.IsPoster(ctx.Doer.ID) ctx.Data["HasIssuesOrPullsWritePermission"] = ctx.Repo.CanWriteIssuesOrPulls(issue.IsPull) diff --git a/templates/repo/diff/comments.tmpl b/templates/repo/diff/comments.tmpl index 3b8f1c2a9c59d..863e295862854 100644 --- a/templates/repo/diff/comments.tmpl +++ b/templates/repo/diff/comments.tmpl @@ -37,7 +37,7 @@
{{if and .Review}} {{if eq .Review.Type 0}} -
+
{{$.root.i18n.Tr "repo.issues.review.pending"}}
{{else}} diff --git a/templates/repo/diff/new_review.tmpl b/templates/repo/diff/new_review.tmpl index cbaabe255e21b..feea436ddf083 100644 --- a/templates/repo/diff/new_review.tmpl +++ b/templates/repo/diff/new_review.tmpl @@ -1,6 +1,7 @@