Skip to content

Commit b542769

Browse files
Adjust the layout of the toolbar on the Issues/Projects page (#33667)
On the list page, labels and milestones do not serve as a switch-tab. Instead, they function as page navigation. The switch-tab is only appropriate for use on the labels and milestones pages. And fix projects page layout. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
1 parent 321cbcb commit b542769

File tree

5 files changed

+27
-35
lines changed

5 files changed

+27
-35
lines changed

templates/projects/view.tmpl

+16-19
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,22 @@
11
{{$canWriteProject := and .CanWriteProjects (or (not .Repository) (not .Repository.IsArchived))}}
22

33
<div class="ui container tw-max-w-full">
4-
<div class="tw-flex tw-justify-between tw-items-center tw-mb-4 tw-gap-3">
5-
<h2 class="tw-mb-0 tw-flex-1 tw-break-anywhere">{{.Project.Title}}</h2>
6-
<div class="project-toolbar-right">
7-
<div class="ui secondary filter menu labels">
8-
{{$queryLink := QueryBuild "?" "labels" .SelectLabels "assignee" $.AssigneeID "archived_labels" (Iif $.ShowArchivedLabels "true")}}
9-
10-
{{template "repo/issue/filter_item_label" dict "Labels" .Labels "QueryLink" $queryLink "SupportArchivedLabel" true}}
11-
12-
{{template "repo/issue/filter_item_user_assign" dict
13-
"QueryParamKey" "assignee"
14-
"QueryLink" $queryLink
15-
"UserSearchList" $.Assignees
16-
"SelectedUserId" $.AssigneeID
17-
"TextFilterTitle" (ctx.Locale.Tr "repo.issues.filter_assignee")
18-
"TextFilterMatchNone" (ctx.Locale.Tr "repo.issues.filter_assginee_no_assignee")
19-
"TextFilterMatchAny" (ctx.Locale.Tr "repo.issues.filter_assignee_any_assignee")
20-
}}
21-
</div>
22-
</div>
4+
<div class="flex-text-block tw-flex-wrap tw-mb-4">
5+
<h2 class="tw-mb-0">{{.Project.Title}}</h2>
6+
<div class="tw-flex-1"></div>
7+
<div class="ui secondary menu tw-m-0">
8+
{{$queryLink := QueryBuild "?" "labels" .SelectLabels "assignee" $.AssigneeID "archived_labels" (Iif $.ShowArchivedLabels "true")}}
9+
{{template "repo/issue/filter_item_label" dict "Labels" .Labels "QueryLink" $queryLink "SupportArchivedLabel" true}}
10+
{{template "repo/issue/filter_item_user_assign" dict
11+
"QueryParamKey" "assignee"
12+
"QueryLink" $queryLink
13+
"UserSearchList" $.Assignees
14+
"SelectedUserId" $.AssigneeID
15+
"TextFilterTitle" (ctx.Locale.Tr "repo.issues.filter_assignee")
16+
"TextFilterMatchNone" (ctx.Locale.Tr "repo.issues.filter_assginee_no_assignee")
17+
"TextFilterMatchAny" (ctx.Locale.Tr "repo.issues.filter_assignee_any_assignee")
18+
}}
19+
</div>
2320
{{if $canWriteProject}}
2421
<div class="ui compact mini menu">
2522
<a class="item" href="{{.Link}}/edit?redirect=project">

templates/repo/issue/list.tmpl

+3-2
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
</div>
1515
{{end}}
1616

17-
<div class="list-header">
18-
{{template "repo/issue/navbar" .}}
17+
<div class="list-header flex-text-block">
1918
{{template "repo/issue/search" .}}
19+
<a class="ui small button" href="{{.RepoLink}}/labels">{{ctx.Locale.Tr "repo.labels"}}</a>
20+
<a class="ui small button" href="{{.RepoLink}}/milestones">{{ctx.Locale.Tr "repo.milestones"}}</a>
2021
{{if not .Repository.IsArchived}}
2122
{{if .PageIsIssueList}}
2223
<a class="ui small primary button issue-list-new" href="{{.RepoLink}}/issues/new{{if .NewIssueChooseTemplate}}/choose{{end}}">{{ctx.Locale.Tr "repo.issues.new"}}</a>

templates/repo/projects/view.tmpl

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
<div role="main" aria-label="{{.Title}}" class="page-content repository projects view-project">
33
{{template "repo/header" .}}
44
<div class="ui container padded">
5-
<div class="tw-flex tw-justify-between tw-items-center tw-mb-4">
6-
{{template "repo/issue/navbar" .}}
5+
<div class="flex-text-block tw-justify-end tw-mb-4">
6+
<a class="ui small button" href="{{.RepoLink}}/labels">{{ctx.Locale.Tr "repo.labels"}}</a>
7+
<a class="ui small button" href="{{.RepoLink}}/milestones">{{ctx.Locale.Tr "repo.milestones"}}</a>
78
<a class="ui small primary button" href="{{.RepoLink}}/issues/new/choose?project={{.Project.ID}}">{{ctx.Locale.Tr "repo.issues.new"}}</a>
89
</div>
910
</div>

web_src/css/base.css

+5
Original file line numberDiff line numberDiff line change
@@ -1155,6 +1155,11 @@ table th[data-sortt-desc] .svg {
11551155
min-width: 0;
11561156
}
11571157

1158+
.flex-text-block > .ui.button,
1159+
.flex-text-inline > .ui.button {
1160+
margin: 0; /* fomantic buttons have default margin, when we use them in a flex container with gap, we do not need these margins */
1161+
}
1162+
11581163
/* to override Fomantic's default display: block for ".menu .item", and use a slightly larger gap for menu item content
11591164
the "!important" is necessary to override Fomantic UI menu item styles, meanwhile we should keep the "hidden" items still hidden */
11601165
.ui.dropdown .menu.flex-items-menu > .item:not(.hidden, .filtered, .tw-hidden) {

web_src/css/features/projects.css

-12
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,6 @@
88
margin: 0 0.5em;
99
}
1010

11-
.project-toolbar-right .filter.menu {
12-
flex-direction: row;
13-
flex-wrap: wrap;
14-
}
15-
16-
@media (max-width: 767.98px) {
17-
.project-toolbar-right .dropdown .menu {
18-
left: auto !important;
19-
right: auto !important;
20-
}
21-
}
22-
2311
.project-column {
2412
background-color: var(--color-project-column-bg) !important;
2513
border: 1px solid var(--color-secondary) !important;

0 commit comments

Comments
 (0)