- {{if .CanCreateOrgRepo}}
+ {{if and .CanCreateOrgRepo .SignedUser.CanCreateRepo}}
{{ctx.Locale.Tr "new_repo"}}
{{if not .DisableNewPullMirrors}}
diff --git a/templates/user/dashboard/repolist.tmpl b/templates/user/dashboard/repolist.tmpl
index be710675d5..59362a9924 100644
--- a/templates/user/dashboard/repolist.tmpl
+++ b/templates/user/dashboard/repolist.tmpl
@@ -13,6 +13,7 @@ const data = {
textFilter: {{ctx.Locale.Tr "home.filter"}},
textShowArchived: {{ctx.Locale.Tr "home.show_archived"}},
textShowPrivate: {{ctx.Locale.Tr "home.show_private"}},
+ textRepoReachLimitOfCreation: {{ctx.Locale.TrN .SignedUser.MaxCreationLimit "repo.form.reach_limit_of_creation_1" "repo.form.reach_limit_of_creation_n" .SignedUser.MaxCreationLimit}},
textShowBothArchivedUnarchived: {{ctx.Locale.Tr "home.show_both_archived_unarchived"}},
textShowOnlyUnarchived: {{ctx.Locale.Tr "home.show_only_unarchived"}},
@@ -49,6 +50,7 @@ data.organizations = [{{range .Orgs}}{'name': {{.Name}}, 'num_repos': {{.NumRepo
data.isOrganization = false;
data.organizationsTotalCount = {{.UserOrgsCount}};
data.canCreateOrganization = {{.SignedUser.CanCreateOrganization}};
+data.canCreateRepo = {{.SignedUser.CanCreateRepo}};
{{else}}
data.organizationId = {{.ContextUser.ID}};
{{end}}
diff --git a/web_src/js/components/DashboardRepoList.vue b/web_src/js/components/DashboardRepoList.vue
index afc58d3689..94c1248967 100644
--- a/web_src/js/components/DashboardRepoList.vue
+++ b/web_src/js/components/DashboardRepoList.vue
@@ -350,9 +350,12 @@ export default sfc; // activate the IDE's Vue plugin
{{ textMyRepos }}
{{ reposTotalCount }}
@@ -546,4 +549,9 @@ ul li:not(:last-child) {
.repo-owner-name-list li.active {
background: var(--color-hover);
}
+
+span.disabled {
+ opacity: var(--opacity-disabled);
+}
+