aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHesterG <hestergong@gmail.com>2023-07-24 09:05:16 +0800
committerGitHub <noreply@github.com>2023-07-24 09:05:16 +0800
commit24c3bb95acfd906dc752f867615dafd170176502 (patch)
tree6c19535c9bab0c90ae055ac9533b38b9177a32a4
parent4e4a71f3a089451a72ff3f8fd65d3d66060ce03d (diff)
downloadgitea-24c3bb95acfd906dc752f867615dafd170176502.tar.gz
gitea-24c3bb95acfd906dc752f867615dafd170176502.zip
Categorize admin settings sidebar panel (#26030)
This PR reorganize and categorize the admin settings sidebar panel into groups: - User Accounts, User Emails, Organizations, Authentication Sources -> Identity & Access - Repositories, Packages -> Code Assets - Webhooks, Applications -> Integrations Before: <img width="1346" alt="Screen Shot 2023-07-21 at 10 30 28" src="https://github.com/go-gitea/gitea/assets/17645053/e0c5ae83-464f-4aaa-8bab-2c5258c9278d"> After: all configurable settings enabled (package, oauth, webhook) <img width="1153" alt="Screen Shot 2023-07-21 at 10 27 30" src="https://github.com/go-gitea/gitea/assets/17645053/88acf3f5-0623-4307-8654-69c654d80874"> all configurable settings disabled (package, oauth, webhook) <img width="1391" alt="Screen Shot 2023-07-21 at 10 25 19" src="https://github.com/go-gitea/gitea/assets/17645053/9e13aa60-e75c-4077-afd6-3da9e0ae18dd"> only oauth enabled <img width="1323" alt="Screen Shot 2023-07-21 at 10 26 23" src="https://github.com/go-gitea/gitea/assets/17645053/ce4f9ec0-b141-4d5e-ac13-46d001724dc5"> only webhook enabled <img width="1350" alt="Screen Shot 2023-07-21 at 10 26 55" src="https://github.com/go-gitea/gitea/assets/17645053/702491bd-083e-44fa-82bc-52c4571e54ac">
-rw-r--r--options/locale/locale_en-US.ini3
-rw-r--r--templates/admin/navbar.tmpl77
2 files changed, 54 insertions, 26 deletions
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 94ae490981..24be7e0fc3 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -2627,10 +2627,13 @@ teams.invite.description = Please click the button below to join the team.
[admin]
dashboard = Dashboard
+identity_access = Identity & Access
users = User Accounts
organizations = Organizations
+assets = Code Assets
repositories = Repositories
hooks = Webhooks
+integrations = Integrations
authentication = Authentication Sources
emails = User Emails
config = Configuration
diff --git a/templates/admin/navbar.tmpl b/templates/admin/navbar.tmpl
index a96e5c9367..4cfdbac73f 100644
--- a/templates/admin/navbar.tmpl
+++ b/templates/admin/navbar.tmpl
@@ -4,35 +4,60 @@
<a class="{{if .PageIsAdminDashboard}}active {{end}}item" href="{{AppSubUrl}}/admin">
{{.locale.Tr "admin.dashboard"}}
</a>
- <a class="{{if .PageIsAdminUsers}}active {{end}}item" href="{{AppSubUrl}}/admin/users">
- {{.locale.Tr "admin.users"}}
- </a>
- <a class="{{if .PageIsAdminOrganizations}}active {{end}}item" href="{{AppSubUrl}}/admin/orgs">
- {{.locale.Tr "admin.organizations"}}
- </a>
- <a class="{{if .PageIsAdminRepositories}}active {{end}}item" href="{{AppSubUrl}}/admin/repos">
- {{.locale.Tr "admin.repositories"}}
- </a>
- {{if .EnablePackages}}
- <a class="{{if .PageIsAdminPackages}}active {{end}}item" href="{{AppSubUrl}}/admin/packages">
- {{.locale.Tr "packages.title"}}
- </a>
- {{end}}
- {{if not DisableWebhooks}}
+ <details class="item toggleable-item" {{if or .PageIsAdminUsers .PageIsAdminEmails .PageIsAdminOrganizations .PageIsAdminAuthentications}}open{{end}}>
+ <summary>{{.locale.Tr "admin.identity_access"}}</summary>
+ <div class="menu">
+ <a class="{{if .PageIsAdminAuthentications}}active {{end}}item" href="{{AppSubUrl}}/admin/auths">
+ {{.locale.Tr "admin.authentication"}}
+ </a>
+ <a class="{{if .PageIsAdminOrganizations}}active {{end}}item" href="{{AppSubUrl}}/admin/orgs">
+ {{.locale.Tr "admin.organizations"}}
+ </a>
+ <a class="{{if .PageIsAdminUsers}}active {{end}}item" href="{{AppSubUrl}}/admin/users">
+ {{.locale.Tr "admin.users"}}
+ </a>
+ <a class="{{if .PageIsAdminEmails}}active {{end}}item" href="{{AppSubUrl}}/admin/emails">
+ {{.locale.Tr "admin.emails"}}
+ </a>
+ </div>
+ </details>
+ <details class="item toggleable-item" {{if or .PageIsAdminRepositories (and .EnablePackages .PageIsAdminPackages)}}open{{end}}>
+ <summary>{{.locale.Tr "admin.assets"}}</summary>
+ <div class="menu">
+ {{if .EnablePackages}}
+ <a class="{{if .PageIsAdminPackages}}active {{end}}item" href="{{AppSubUrl}}/admin/packages">
+ {{.locale.Tr "packages.title"}}
+ </a>
+ {{end}}
+ <a class="{{if .PageIsAdminRepositories}}active {{end}}item" href="{{AppSubUrl}}/admin/repos">
+ {{.locale.Tr "admin.repositories"}}
+ </a>
+ </div>
+ </details>
+ <!-- Webhooks and OAuth can be both disabled here, so add this if statement to display different ui -->
+ {{if and (not DisableWebhooks) .EnableOAuth2}}
+ <details class="item toggleable-item" {{if or .PageIsAdminDefaultHooks .PageIsAdminSystemHooks .PageIsAdminApplications}}open{{end}}>
+ <summary>{{.locale.Tr "admin.integrations"}}</summary>
+ <div class="menu">
+ <a class="{{if .PageIsAdminApplications}}active {{end}}item" href="{{AppSubUrl}}/admin/applications">
+ {{.locale.Tr "settings.applications"}}
+ </a>
+ <a class="{{if or .PageIsAdminDefaultHooks .PageIsAdminSystemHooks}}active {{end}}item" href="{{AppSubUrl}}/admin/hooks">
+ {{.locale.Tr "admin.hooks"}}
+ </a>
+ </div>
+ </details>
+ {{else}}
+ {{if not DisableWebhooks}}
<a class="{{if or .PageIsAdminDefaultHooks .PageIsAdminSystemHooks}}active {{end}}item" href="{{AppSubUrl}}/admin/hooks">
{{.locale.Tr "admin.hooks"}}
</a>
- {{end}}
- <a class="{{if .PageIsAdminAuthentications}}active {{end}}item" href="{{AppSubUrl}}/admin/auths">
- {{.locale.Tr "admin.authentication"}}
- </a>
- <a class="{{if .PageIsAdminEmails}}active {{end}}item" href="{{AppSubUrl}}/admin/emails">
- {{.locale.Tr "admin.emails"}}
- </a>
- {{if .EnableOAuth2}}
- <a class="{{if .PageIsAdminApplications}}active {{end}}item" href="{{AppSubUrl}}/admin/applications">
- {{.locale.Tr "settings.applications"}}
- </a>
+ {{end}}
+ {{if .EnableOAuth2}}
+ <a class="{{if .PageIsAdminApplications}}active {{end}}item" href="{{AppSubUrl}}/admin/applications">
+ {{.locale.Tr "settings.applications"}}
+ </a>
+ {{end}}
{{end}}
{{if .EnableActions}}
<details class="item toggleable-item" {{if .PageIsSharedSettingsRunners}}open{{end}}>