diff options
author | Hester Gong <hestergong@gmail.com> | 2023-04-20 16:58:26 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-20 04:58:26 -0400 |
commit | 6793ef00692aee3d73d5e37ded0b8cff6b4c1029 (patch) | |
tree | 7a34d3692b2966c9aa56adb9d6fb2d71bc44e0fe | |
parent | 722dab5286a001a0bd367d42258a8613a944e1c1 (diff) | |
download | gitea-6793ef00692aee3d73d5e37ded0b8cff6b4c1029.tar.gz gitea-6793ef00692aee3d73d5e37ded0b8cff6b4c1029.zip |
Use secondary pointing menu for tabs on user/organization home page (#24162)
Close #24108
Use secondary pointing menu for tabs on user/organization home page so
the tabs look the same.
Main changes:
1. modified a part of dom structure in
`templates/user/overview/header.tmpl` to make it the same as
`templates/org/header.tmpl` in order to produce the same ui.
2. Move some css to `web_src/css/shared/repoorgshared.css` to make them
shareable between `templates/user/overview/header.tmpl` and
`templates/org/header.tmpl`
After:
https://user-images.githubusercontent.com/17645053/232400617-2add5bec-d483-4ab1-b48d-eaee157f7b09.mov
For further improvements. Need some thoughts:
For [this
TODO](https://github.com/HesterG/gitea/blob/729ad294cbec7a77623b2e3eab750ea7a20e8ee0/templates/user/overview/header.tmpl#L1),
it is viable to make it a shared template for [this
part](https://github.com/HesterG/gitea/blob/729ad294cbec7a77623b2e3eab750ea7a20e8ee0/templates/user/overview/header.tmpl#L2-L17)
and [this
part](https://github.com/HesterG/gitea/blob/729ad294cbec7a77623b2e3eab750ea7a20e8ee0/templates/org/header.tmpl#L1-L16)
because they are the same except for the variable. But for the menu
parts, they are quite different so might not be suitable to use a shared
template. So need some thoughts and advice about extracting the shared
template from these two headers.
---------
Co-authored-by: Giteabot <teabot@gitea.io>
-rw-r--r-- | templates/user/overview/header.tmpl | 133 | ||||
-rw-r--r-- | web_src/css/index.css | 1 | ||||
-rw-r--r-- | web_src/css/organization.css | 12 | ||||
-rw-r--r-- | web_src/css/repository.css | 9 | ||||
-rw-r--r-- | web_src/css/shared/repoorg.css | 19 |
5 files changed, 88 insertions, 86 deletions
diff --git a/templates/user/overview/header.tmpl b/templates/user/overview/header.tmpl index b4f7d6f900..7dfbe34563 100644 --- a/templates/user/overview/header.tmpl +++ b/templates/user/overview/header.tmpl @@ -1,85 +1,82 @@ -<div class="header-wrapper"> - <!-- TODO: make template org and user can share --> - {{with .ContextUser}} - <div class="ui container"> - <div class="ui vertically grid head"> - <div class="column"> - <div class="ui header"> - {{avatar $.Context . 100}} - <span class="text thin grey"><a href="{{.HomeLink}}">{{.DisplayName}}</a></span> - <span class="org-visibility"> - {{if .Visibility.IsLimited}}<div class="ui medium basic horizontal label">{{$.locale.Tr "org.settings.visibility.limited_shortname"}}</div>{{end}} - {{if .Visibility.IsPrivate}}<div class="ui medium basic horizontal label">{{$.locale.Tr "org.settings.visibility.private_shortname"}}</div>{{end}} - </span> - </div> +<!-- TODO: make template org and user can share --> +{{with .ContextUser}} + <div class="ui container"> + <div class="ui vertically grid head"> + <div class="column"> + <div class="ui header"> + {{avatar $.Context . 100}} + <span class="text thin grey"><a href="{{.HomeLink}}">{{.DisplayName}}</a></span> + <span class="org-visibility"> + {{if .Visibility.IsLimited}}<div class="ui medium basic horizontal label">{{$.locale.Tr "org.settings.visibility.limited_shortname"}}</div>{{end}} + {{if .Visibility.IsPrivate}}<div class="ui medium basic horizontal label">{{$.locale.Tr "org.settings.visibility.private_shortname"}}</div>{{end}} + </span> </div> </div> </div> - {{end}} + </div> +{{end}} - <div class="ui tabs container"> - <div class="ui tabular stackable menu navbar"> - <a class="item" href="{{.ContextUser.HomeLink}}"> - {{svg "octicon-repo"}} {{.locale.Tr "user.repositories"}} +<div class="ui tabs container"> + <div class="ui secondary stackable pointing menu"> + <a class="item" href="{{.ContextUser.HomeLink}}"> + {{svg "octicon-repo"}} {{.locale.Tr "user.repositories"}} + </a> + {{if and .IsProjectEnabled (or .ContextUser.IsIndividual (and .ContextUser.IsOrganization .CanReadProjects))}} + <a href="{{.ContextUser.HomeLink}}/-/projects" class="{{if .PageIsViewProjects}}active {{end}}item"> + {{svg "octicon-project-symlink"}} {{.locale.Tr "user.projects"}} + </a> + {{end}} + {{if and .IsPackageEnabled (or .ContextUser.IsIndividual (and .ContextUser.IsOrganization .CanReadPackages))}} + <a href="{{.ContextUser.HomeLink}}/-/packages" class="{{if .IsPackagesPage}}active {{end}}item"> + {{svg "octicon-package"}} {{.locale.Tr "packages.title"}} </a> - {{if and .IsProjectEnabled (or .ContextUser.IsIndividual (and .ContextUser.IsOrganization .CanReadProjects))}} - <a href="{{.ContextUser.HomeLink}}/-/projects" class="{{if .PageIsViewProjects}}active {{end}}item"> - {{svg "octicon-project-symlink"}} {{.locale.Tr "user.projects"}} + {{end}} + {{if and .IsRepoIndexerEnabled (or .ContextUser.IsIndividual (and .ContextUser.IsOrganization .CanReadCode))}} + <a href="{{.ContextUser.HomeLink}}/-/code" class="{{if .IsCodePage}}active {{end}}item"> + {{svg "octicon-code"}} {{.locale.Tr "user.code"}} </a> - {{end}} - {{if and .IsPackageEnabled (or .ContextUser.IsIndividual (and .ContextUser.IsOrganization .CanReadPackages))}} - <a href="{{.ContextUser.HomeLink}}/-/packages" class="{{if .IsPackagesPage}}active {{end}}item"> - {{svg "octicon-package"}} {{.locale.Tr "packages.title"}} + {{end}} + + {{if .ContextUser.IsOrganization}} + {{if .IsOrganizationMember}} + <a class="item" href="{{$.OrgLink}}/members"> + {{svg "octicon-person"}} {{$.locale.Tr "org.members"}} + {{if .NumMembers}} + <div class="ui primary label">{{.NumMembers}}</div> + {{end}} </a> - {{end}} - {{if and .IsRepoIndexerEnabled (or .ContextUser.IsIndividual (and .ContextUser.IsOrganization .CanReadCode))}} - <a href="{{.ContextUser.HomeLink}}/-/code" class="{{if .IsCodePage}}active {{end}}item"> - {{svg "octicon-code"}} {{.locale.Tr "user.code"}} + <a class="item" href="{{$.OrgLink}}/teams"> + {{svg "octicon-people"}} {{$.locale.Tr "org.teams"}} + {{if .NumTeams}} + <div class="ui primary label">{{.NumTeams}}</div> + {{end}} </a> {{end}} - {{if .ContextUser.IsOrganization}} - {{if .IsOrganizationMember}} - <a class="item" href="{{$.OrgLink}}/members"> - {{svg "octicon-person"}} {{$.locale.Tr "org.members"}} - {{if .NumMembers}} - <div class="ui primary label">{{.NumMembers}}</div> - {{end}} + {{if .IsOrganizationOwner}} + <div class="right menu"> + <a class="item" href="{{.OrgLink}}/settings"> + {{svg "octicon-tools"}} {{.locale.Tr "repo.settings"}} </a> - <a class="item" href="{{$.OrgLink}}/teams"> - {{svg "octicon-people"}} {{$.locale.Tr "org.teams"}} - {{if .NumTeams}} - <div class="ui primary label">{{.NumTeams}}</div> - {{end}} - </a> - {{end}} - - {{if .IsOrganizationOwner}} - <div class="right menu"> - <a class="item" href="{{.OrgLink}}/settings"> - {{svg "octicon-tools"}} {{.locale.Tr "repo.settings"}} - </a> - </div> - {{end}} + </div> + {{end}} + {{else}} + <a class='{{if eq .TabName "activity"}}active {{end}}item' href="{{.ContextUser.HomeLink}}?tab=activity"> + {{svg "octicon-rss"}} {{.locale.Tr "user.activity"}} + </a> + {{if not .DisableStars}} + <a class='{{if eq .TabName "stars"}}active {{end}}item' href="{{.ContextUser.HomeLink}}?tab=stars"> + {{svg "octicon-star"}} {{.locale.Tr "user.starred"}} + {{if .Owner.NumStars}} + <div class="ui primary label">{{.Owner.NumStars}}</div> + {{end}} + </a> {{else}} - <a class='{{if eq .TabName "activity"}}active {{end}}item' href="{{.ContextUser.HomeLink}}?tab=activity"> - {{svg "octicon-rss"}} {{.locale.Tr "user.activity"}} + <a class='{{if eq .TabName "watching"}}active {{end}}item' href="{{.ContextUser.HomeLink}}?tab=watching"> + {{svg "octicon-eye"}} {{.locale.Tr "user.watched"}} </a> - {{if not .DisableStars}} - <a class='{{if eq .TabName "stars"}}active {{end}}item' href="{{.ContextUser.HomeLink}}?tab=stars"> - {{svg "octicon-star"}} {{.locale.Tr "user.starred"}} - {{if .Owner.NumStars}} - <div class="ui primary label">{{.Owner.NumStars}}</div> - {{end}} - </a> - {{else}} - <a class='{{if eq .TabName "watching"}}active {{end}}item' href="{{.ContextUser.HomeLink}}?tab=watching"> - {{svg "octicon-eye"}} {{.locale.Tr "user.watched"}} - </a> - {{end}} {{end}} + {{end}} - </div> </div> - <div class="ui tabs divider"></div> </div> diff --git a/web_src/css/index.css b/web_src/css/index.css index e8d4e290d0..2530830338 100644 --- a/web_src/css/index.css +++ b/web_src/css/index.css @@ -2,6 +2,7 @@ @import "./animations.css"; @import "./shared/issuelist.css"; +@import "./shared/repoorg.css"; @import "./features/dropzone.css"; @import "./features/gitgraph.css"; @import "./features/heatmap.css"; diff --git a/web_src/css/organization.css b/web_src/css/organization.css index 35eaa3ae22..42a6dcc5ea 100644 --- a/web_src/css/organization.css +++ b/web_src/css/organization.css @@ -40,12 +40,6 @@ } } -.organization .head .ui.header .text { - vertical-align: middle; - font-size: 1.6rem; - margin-left: 15px; -} - .organization .head .ui.header .org-visibility .label { margin-left: 5px; margin-top: 5px; @@ -55,12 +49,6 @@ margin-top: 5px; } -.organization .ui.secondary.stackable.pointing.menu { - flex-wrap: wrap; - margin-top: 5px; - margin-bottom: 10px; -} - .organization.new.org form { margin: auto; } diff --git a/web_src/css/repository.css b/web_src/css/repository.css index 8674793bf0..77b41e4d16 100644 --- a/web_src/css/repository.css +++ b/web_src/css/repository.css @@ -153,12 +153,9 @@ padding-left: 23px; } -.repository .ui.tabs.container { - margin-top: 14px; - margin-bottom: 0; -} - -.repository .ui.tabs.container .ui.menu { +/* For the secondary pointing menu, respect its own border-bottom */ +/* style reference: https://semantic-ui.com/collections/menu.html#pointing */ +.repository .ui.tabs.container .ui.menu:not(.secondary.pointing) { border-bottom: 0; } diff --git a/web_src/css/shared/repoorg.css b/web_src/css/shared/repoorg.css new file mode 100644 index 0000000000..ee9d94bafa --- /dev/null +++ b/web_src/css/shared/repoorg.css @@ -0,0 +1,19 @@ +.repository .head .ui.header .text, +.organization .head .ui.header .text { + vertical-align: middle; + font-size: 1.6rem; + margin-left: 15px; +} + +.repository .ui.secondary.stackable.pointing.menu, +.organization .ui.secondary.stackable.pointing.menu { + flex-wrap: wrap; + margin-top: 5px; + margin-bottom: 10px; +} + +.repository .ui.tabs.container, +.organization .ui.tabs.container { + margin-top: 14px; + margin-bottom: 0; +} |