From f045e58cc7ba076a0ac4b0b5bf0702fa155eaa59 Mon Sep 17 00:00:00 2001 From: Yarden Shoham Date: Mon, 17 Apr 2023 21:26:01 +0300 Subject: [PATCH] Localize activity heatmap (except tooltip) (#24131) The calculation of the total sum is moved to the backend so a full HTML string could be sent. ![image](https://user-images.githubusercontent.com/20454870/232112381-c11d896b-ba47-40f8-b2a3-71cf4b3208de.png) - Closes #10669 - 2nd attempt (the first was in #21570) --------- Signed-off-by: Yarden Shoham Co-authored-by: Giteabot --- models/activities/user_heatmap.go | 9 +++++++++ options/locale/locale_en-US.ini | 6 ++++++ routers/web/user/home.go | 1 + routers/web/user/profile.go | 1 + templates/user/heatmap.tmpl | 8 +++++++- web_src/js/components/ActivityHeatmap.vue | 11 +---------- web_src/js/features/heatmap.js | 6 +++++- 7 files changed, 30 insertions(+), 12 deletions(-) diff --git a/models/activities/user_heatmap.go b/models/activities/user_heatmap.go index d3f0f0db7..332079952 100644 --- a/models/activities/user_heatmap.go +++ b/models/activities/user_heatmap.go @@ -69,3 +69,12 @@ func getUserHeatmapData(user *user_model.User, team *organization.Team, doer *us OrderBy("timestamp"). Find(&hdata) } + +// GetTotalContributionsInHeatmap returns the total number of contributions in a heatmap +func GetTotalContributionsInHeatmap(hdata []*UserHeatmapData) int64 { + var total int64 + for _, v := range hdata { + total += v.Contributions + } + return total +} diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index c2c8f1e12..2b0260a61 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -118,6 +118,12 @@ footer = Footer footer.software = About Software footer.links = Links +[heatmap] +number_of_contributions_in_the_last_12_months = %s contributions in the last 12 months +no_contributions = No contributions +less = Less +more = More + [editor] buttons.heading.tooltip = Add heading buttons.bold.tooltip = Add bold text diff --git a/routers/web/user/home.go b/routers/web/user/home.go index a0a5dc3c4..1f7737904 100644 --- a/routers/web/user/home.go +++ b/routers/web/user/home.go @@ -107,6 +107,7 @@ func Dashboard(ctx *context.Context) { return } ctx.Data["HeatmapData"] = data + ctx.Data["HeatmapTotalContributions"] = activities_model.GetTotalContributionsInHeatmap(data) } feeds, count, err := activities_model.GetFeeds(ctx, activities_model.GetFeedsOptions{ diff --git a/routers/web/user/profile.go b/routers/web/user/profile.go index d690fa4d0..b39ba58f1 100644 --- a/routers/web/user/profile.go +++ b/routers/web/user/profile.go @@ -74,6 +74,7 @@ func Profile(ctx *context.Context) { return } ctx.Data["HeatmapData"] = data + ctx.Data["HeatmapTotalContributions"] = activities_model.GetTotalContributionsInHeatmap(data) } if len(ctx.ContextUser.Description) != 0 { diff --git a/templates/user/heatmap.tmpl b/templates/user/heatmap.tmpl index 9d58bc8fc..5d42a5435 100644 --- a/templates/user/heatmap.tmpl +++ b/templates/user/heatmap.tmpl @@ -1,5 +1,11 @@ {{if .HeatmapData}} -
+
{{.locale.Tr "user.heatmap.loading"}}
diff --git a/web_src/js/components/ActivityHeatmap.vue b/web_src/js/components/ActivityHeatmap.vue index 98ffce44b..7834ebe82 100644 --- a/web_src/js/components/ActivityHeatmap.vue +++ b/web_src/js/components/ActivityHeatmap.vue @@ -1,7 +1,7 @@