From e2a59c57fc1dcaecddc8d8dbf27d551c92dda101 Mon Sep 17 00:00:00 2001
From: zeripath <art27@cantab.net>
Date: Tue, 19 Oct 2021 05:38:33 +0100
Subject: [PATCH] Fix dashboard repolist alignment and repolisting (#17355)

Unfortunately #17301 broke the restriction of the dashboard repolist to
the user's repos because it stopped passing in the uid for the current
user. This PR restores this.

There is also a weird alignment problem - not caused by that PR - where
the menu items in the repolist spread over multiple lines. This PR
simply reduces the padding on these items and switches the justification
of the flex elements to space-evenly.

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

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
---
 routers/web/user/home.go                   | 6 ++++++
 templates/user/dashboard/repolist.tmpl     | 3 ++-
 web_src/js/components/DashboardRepoList.js | 1 +
 web_src/less/_base.less                    | 7 +++++++
 4 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/routers/web/user/home.go b/routers/web/user/home.go
index 959b1aa1e9..af5750e616 100644
--- a/routers/web/user/home.go
+++ b/routers/web/user/home.go
@@ -72,8 +72,14 @@ func Dashboard(ctx *context.Context) {
 	ctx.Data["PageIsDashboard"] = true
 	ctx.Data["PageIsNews"] = true
 
+	var uid int64
+	if ctxUser != nil {
+		uid = ctxUser.ID
+	}
+
 	ctx.PageData["dashboardRepoList"] = map[string]interface{}{
 		"searchLimit": setting.UI.User.RepoPagingNum,
+		"uid":         uid,
 	}
 
 	if setting.Service.EnableUserHeatmap {
diff --git a/templates/user/dashboard/repolist.tmpl b/templates/user/dashboard/repolist.tmpl
index e2cfa76e88..c02cdecd49 100644
--- a/templates/user/dashboard/repolist.tmpl
+++ b/templates/user/dashboard/repolist.tmpl
@@ -2,6 +2,7 @@
 	<repo-search
 	:search-limit="searchLimit"
 	:sub-url="subUrl"
+	:uid="uid"
 	{{if .Team}}
 	:team-id="{{.Team.ID}}"
 	{{end}}
@@ -95,7 +96,7 @@
 						</div>
 					</div>
 				</div>
-				<div class="ui secondary tiny pointing borderless menu center aligned grid repos-filter">
+				<div class="ui secondary tiny pointing borderless menu center grid repos-filter">
 					<a class="item" :class="{active: reposFilter === 'all'}" @click="changeReposFilter('all')">
 						{{.i18n.Tr "all"}}
 						<div v-show="reposFilter === 'all'" class="ui circular mini grey label">${repoTypeCount}</div>
diff --git a/web_src/js/components/DashboardRepoList.js b/web_src/js/components/DashboardRepoList.js
index 04eb304c80..426d362005 100644
--- a/web_src/js/components/DashboardRepoList.js
+++ b/web_src/js/components/DashboardRepoList.js
@@ -362,6 +362,7 @@ export function initDashboardRepoList() {
       return {
         searchLimit: dashboardRepoListData.searchLimit || 0,
         subUrl: AppSubUrl,
+        uid: dashboardRepoListData.uid || 0,
       };
     },
   });
diff --git a/web_src/less/_base.less b/web_src/less/_base.less
index 59585b39e4..09d74d97b4 100644
--- a/web_src/less/_base.less
+++ b/web_src/less/_base.less
@@ -1361,6 +1361,13 @@ footer {
   margin-top: 0 !important;
   border-bottom-width: 0 !important;
   margin-bottom: 2px !important;
+  justify-content: space-evenly;
+
+}
+
+.ui.secondary.pointing.menu.repos-filter .item {
+  padding-left: 4.5px;
+  padding-right: 4.5px;
 }
 
 .repo-title {