Consolidate the two review boxes into one (#24738)

View diff:
https://github.com/go-gitea/gitea/pull/24738/files?diff=unified&w=1

Improve layout and functionality in review area:

<img width="439" alt="Screenshot 2023-05-15 at 20 10 01"
src="https://github.com/go-gitea/gitea/assets/115237/be10452b-5829-4927-8801-7b26a57b3dbd">

Remove the "Reviewers" timeline box that appears before the merge box.
it's a duplicate of the top-right review area and all functionality of
it has been moved to the other box:

<img width="868" alt="Screenshot 2023-05-15 at 19 39 31"
src="https://github.com/go-gitea/gitea/assets/115237/35489445-e54b-40d3-b3cf-38d029478f96">

Increase timeline item vertical padding from 12px to 16px:

<img width="449" alt="Screenshot 2023-05-15 at 19 43 50"
src="https://github.com/go-gitea/gitea/assets/115237/919c4f9d-a485-4f51-b08c-2c0fc714a413">

---------

Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
silverwind 2023-05-29 12:44:03 +02:00 committed by GitHub
parent 275d4b7e3f
commit a70d853d06
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 883 additions and 980 deletions

View file

@ -38,7 +38,7 @@
{{end}} {{end}}
</div> </div>
</div> </div>
<div class="metas gt-df gt-ac text grey"> <div class="gt-font-13 gt-df gt-ac text grey">
{{if .PrimaryLanguage}} {{if .PrimaryLanguage}}
<a class="muted" href="{{$.Link}}?q={{$.Keyword}}&sort={{$.SortType}}&language={{.PrimaryLanguage.Language}}"> <a class="muted" href="{{$.Link}}?q={{$.Keyword}}&sort={{$.SortType}}&language={{.PrimaryLanguage.Language}}">
<span class="gt-df gt-ac gt-mr-3"><i class="color-icon gt-mr-3" style="background-color: {{.PrimaryLanguage.Color}}"></i>{{.PrimaryLanguage.Language}}</span> <span class="gt-df gt-ac gt-mr-3"><i class="color-icon gt-mr-3" style="background-color: {{.PrimaryLanguage.Color}}"></i>{{.PrimaryLanguage.Language}}</span>

View file

@ -2,117 +2,112 @@
<div role="main" aria-label="{{.Title}}" class="page-content repository view issue packages"> <div role="main" aria-label="{{.Title}}" class="page-content repository view issue packages">
{{template "user/overview/header" .}} {{template "user/overview/header" .}}
<div class="ui container"> <div class="ui container">
<div> <div class="issue-title-header">
<div class="ui stackable grid"> <div class="issue-title">
<div class="sixteen wide column title"> <h1>{{.PackageDescriptor.Package.Name}} ({{.PackageDescriptor.Version.Version}})</h1>
<div class="issue-title"> </div>
<h1>{{.PackageDescriptor.Package.Name}} ({{.PackageDescriptor.Version.Version}})</h1> <div>
</div> {{$timeStr := TimeSinceUnix .PackageDescriptor.Version.CreatedUnix $.locale}}
<div> {{if .HasRepositoryAccess}}
{{$timeStr := TimeSinceUnix .PackageDescriptor.Version.CreatedUnix $.locale}} {{.locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) .PackageDescriptor.Repository.Link (.PackageDescriptor.Repository.FullName | Escape) | Safe}}
{{if .HasRepositoryAccess}} {{else}}
{{.locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) .PackageDescriptor.Repository.Link (.PackageDescriptor.Repository.FullName | Escape) | Safe}} {{.locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) | Safe}}
{{else}} {{end}}
{{.locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) | Safe}} </div>
{{end}} </div>
</div> <div class="issue-content">
<div class="issue-content-left">
{{template "package/content/alpine" .}}
{{template "package/content/cargo" .}}
{{template "package/content/chef" .}}
{{template "package/content/composer" .}}
{{template "package/content/conan" .}}
{{template "package/content/conda" .}}
{{template "package/content/container" .}}
{{template "package/content/cran" .}}
{{template "package/content/debian" .}}
{{template "package/content/generic" .}}
{{template "package/content/go" .}}
{{template "package/content/helm" .}}
{{template "package/content/maven" .}}
{{template "package/content/npm" .}}
{{template "package/content/nuget" .}}
{{template "package/content/pub" .}}
{{template "package/content/pypi" .}}
{{template "package/content/rpm" .}}
{{template "package/content/rubygems" .}}
{{template "package/content/swift" .}}
{{template "package/content/vagrant" .}}
</div>
<div class="issue-content-right ui segment">
<strong>{{.locale.Tr "packages.details"}}</strong>
<div class="ui relaxed list">
<div class="item">{{svg .PackageDescriptor.Package.Type.SVGName 16 "gt-mr-3"}} {{.PackageDescriptor.Package.Type.Name}}</div>
{{if .HasRepositoryAccess}}
<div class="item">{{svg "octicon-repo" 16 "gt-mr-3"}} <a href="{{.PackageDescriptor.Repository.Link}}">{{.PackageDescriptor.Repository.FullName}}</a></div>
{{end}}
<div class="item">{{svg "octicon-calendar" 16 "gt-mr-3"}} {{TimeSinceUnix .PackageDescriptor.Version.CreatedUnix $.locale}}</div>
<div class="item">{{svg "octicon-download" 16 "gt-mr-3"}} {{.PackageDescriptor.Version.DownloadCount}}</div>
{{template "package/metadata/alpine" .}}
{{template "package/metadata/cargo" .}}
{{template "package/metadata/chef" .}}
{{template "package/metadata/composer" .}}
{{template "package/metadata/conan" .}}
{{template "package/metadata/conda" .}}
{{template "package/metadata/container" .}}
{{template "package/metadata/cran" .}}
{{template "package/metadata/debian" .}}
{{template "package/metadata/generic" .}}
{{template "package/metadata/helm" .}}
{{template "package/metadata/maven" .}}
{{template "package/metadata/npm" .}}
{{template "package/metadata/nuget" .}}
{{template "package/metadata/pub" .}}
{{template "package/metadata/pypi" .}}
{{template "package/metadata/rpm" .}}
{{template "package/metadata/rubygems" .}}
{{template "package/metadata/swift" .}}
{{template "package/metadata/vagrant" .}}
{{if not (and (eq .PackageDescriptor.Package.Type "container") .PackageDescriptor.Metadata.Manifests)}}
<div class="item">{{svg "octicon-database" 16 "gt-mr-3"}} {{FileSize .PackageDescriptor.CalculateBlobSize}}</div>
{{end}}
</div>
{{if not (eq .PackageDescriptor.Package.Type "container")}}
<div class="ui divider"></div> <div class="ui divider"></div>
</div> <strong>{{.locale.Tr "packages.assets"}} ({{len .PackageDescriptor.Files}})</strong>
<div class="twelve wide column"> <div class="ui relaxed list">
{{template "package/content/alpine" .}} {{range .PackageDescriptor.Files}}
{{template "package/content/cargo" .}} <div class="item">
{{template "package/content/chef" .}} <a href="{{$.Link}}/files/{{.File.ID}}">{{.File.Name}}</a>
{{template "package/content/composer" .}} <span class="text small file-size">{{FileSize .Blob.Size}}</span>
{{template "package/content/conan" .}}
{{template "package/content/conda" .}}
{{template "package/content/container" .}}
{{template "package/content/cran" .}}
{{template "package/content/debian" .}}
{{template "package/content/generic" .}}
{{template "package/content/go" .}}
{{template "package/content/helm" .}}
{{template "package/content/maven" .}}
{{template "package/content/npm" .}}
{{template "package/content/nuget" .}}
{{template "package/content/pub" .}}
{{template "package/content/pypi" .}}
{{template "package/content/rpm" .}}
{{template "package/content/rubygems" .}}
{{template "package/content/swift" .}}
{{template "package/content/vagrant" .}}
</div>
<div class="four wide column">
<div class="ui segment metas">
<strong>{{.locale.Tr "packages.details"}}</strong>
<div class="ui relaxed list">
<div class="item">{{svg .PackageDescriptor.Package.Type.SVGName 16 "gt-mr-3"}} {{.PackageDescriptor.Package.Type.Name}}</div>
{{if .HasRepositoryAccess}}
<div class="item">{{svg "octicon-repo" 16 "gt-mr-3"}} <a href="{{.PackageDescriptor.Repository.Link}}">{{.PackageDescriptor.Repository.FullName}}</a></div>
{{end}}
<div class="item">{{svg "octicon-calendar" 16 "gt-mr-3"}} {{TimeSinceUnix .PackageDescriptor.Version.CreatedUnix $.locale}}</div>
<div class="item">{{svg "octicon-download" 16 "gt-mr-3"}} {{.PackageDescriptor.Version.DownloadCount}}</div>
{{template "package/metadata/alpine" .}}
{{template "package/metadata/cargo" .}}
{{template "package/metadata/chef" .}}
{{template "package/metadata/composer" .}}
{{template "package/metadata/conan" .}}
{{template "package/metadata/conda" .}}
{{template "package/metadata/container" .}}
{{template "package/metadata/cran" .}}
{{template "package/metadata/debian" .}}
{{template "package/metadata/generic" .}}
{{template "package/metadata/helm" .}}
{{template "package/metadata/maven" .}}
{{template "package/metadata/npm" .}}
{{template "package/metadata/nuget" .}}
{{template "package/metadata/pub" .}}
{{template "package/metadata/pypi" .}}
{{template "package/metadata/rpm" .}}
{{template "package/metadata/rubygems" .}}
{{template "package/metadata/swift" .}}
{{template "package/metadata/vagrant" .}}
{{if not (and (eq .PackageDescriptor.Package.Type "container") .PackageDescriptor.Metadata.Manifests)}}
<div class="item">{{svg "octicon-database" 16 "gt-mr-3"}} {{FileSize .PackageDescriptor.CalculateBlobSize}}</div>
{{end}}
</div> </div>
{{if not (eq .PackageDescriptor.Package.Type "container")}} {{end}}
<div class="ui divider"></div> </div>
<strong>{{.locale.Tr "packages.assets"}} ({{len .PackageDescriptor.Files}})</strong> {{end}}
<div class="ui relaxed list"> {{if .LatestVersions}}
{{range .PackageDescriptor.Files}} <div class="ui divider"></div>
<div class="item"> <strong>{{.locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong>
<a href="{{$.Link}}/files/{{.File.ID}}">{{.File.Name}}</a> <a class="ui right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{.locale.Tr "packages.versions.view_all"}}</a>
<span class="text small file-size">{{FileSize .Blob.Size}}</span> <div class="ui relaxed list">
</div> {{range .LatestVersions}}
{{end}} <div class="item gt-df">
</div> <a class="gt-f1" href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .LowerVersion}}">{{.Version}}</a>
<span class="text small">{{DateTime "short" .CreatedUnix}}</span>
</div>
{{end}}
</div>
{{end}}
{{if or .CanWritePackages .HasRepositoryAccess}}
<div class="ui divider"></div>
<div class="ui relaxed list">
{{if .HasRepositoryAccess}}
<div class="item">{{svg "octicon-issue-opened" 16 "gt-mr-3"}} <a href="{{.PackageDescriptor.Repository.Link}}/issues">{{.locale.Tr "repo.issues"}}</a></div>
{{end}} {{end}}
{{if .LatestVersions}} {{if .CanWritePackages}}
<div class="ui divider"></div> <div class="item">{{svg "octicon-tools" 16 "gt-mr-3"}} <a href="{{.Link}}/settings">{{.locale.Tr "repo.settings"}}</a></div>
<strong>{{.locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong>
<a class="ui right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{.locale.Tr "packages.versions.view_all"}}</a>
<div class="ui relaxed list">
{{range .LatestVersions}}
<div class="item gt-df">
<a class="gt-f1" href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .LowerVersion}}">{{.Version}}</a>
<span class="text small">{{DateTime "short" .CreatedUnix}}</span>
</div>
{{end}}
</div>
{{end}}
{{if or .CanWritePackages .HasRepositoryAccess}}
<div class="ui divider"></div>
<div class="ui relaxed list">
{{if .HasRepositoryAccess}}
<div class="item">{{svg "octicon-issue-opened" 16 "gt-mr-3"}} <a href="{{.PackageDescriptor.Repository.Link}}/issues">{{.locale.Tr "repo.issues"}}</a></div>
{{end}}
{{if .CanWritePackages}}
<div class="item">{{svg "octicon-tools" 16 "gt-mr-3"}} <a href="{{.Link}}/settings">{{.locale.Tr "repo.settings"}}</a></div>
{{end}}
</div>
{{end}} {{end}}
</div> </div>
</div> {{end}}
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,15 +1,15 @@
<form class="ui comment form stackable grid" id="new-issue" action="{{.Link}}" method="post"> <form class="issue-content ui comment form" id="new-issue" action="{{.Link}}" method="post">
{{.CsrfTokenHtml}} {{.CsrfTokenHtml}}
{{if .Flash}} {{if .Flash}}
<div class="sixteen wide column"> <div class="sixteen wide column">
{{template "base/alert" .}} {{template "base/alert" .}}
</div> </div>
{{end}} {{end}}
<div class="twelve wide column"> <div class="issue-content-left">
<div class="ui comments"> <div class="ui comments">
<div class="comment"> <div class="comment">
{{template "shared/user/avatarlink" dict "Context" $.Context "user" .SignedUser}} {{avatar $.Context .SignedUser 40}}
<div class="ui segment content"> <div class="ui segment content gt-my-0">
<div class="field"> <div class="field">
<input name="title" id="issue_title" placeholder="{{.locale.Tr "repo.milestones.title"}}" value="{{if .TitleQuery}}{{.TitleQuery}}{{else if .IssueTemplateTitle}}{{.IssueTemplateTitle}}{{else}}{{.title}}{{end}}" tabindex="3" autofocus required maxlength="255" autocomplete="off"> <input name="title" id="issue_title" placeholder="{{.locale.Tr "repo.milestones.title"}}" value="{{if .TitleQuery}}{{.TitleQuery}}{{else if .IssueTemplateTitle}}{{.IssueTemplateTitle}}{{else}}{{.title}}{{end}}" tabindex="3" autofocus required maxlength="255" autocomplete="off">
{{if .PageIsComparePull}} {{if .PageIsComparePull}}
@ -48,147 +48,145 @@
</div> </div>
</div> </div>
<div class="four wide column"> <div class="issue-content-right ui segment">
<div class="ui segment metas"> {{template "repo/issue/branch_selector_field" .}}
{{template "repo/issue/branch_selector_field" .}}
<input id="label_ids" name="label_ids" type="hidden" value="{{.label_ids}}"> <input id="label_ids" name="label_ids" type="hidden" value="{{.label_ids}}">
{{template "repo/issue/labels/labels_selector_field" .}} {{template "repo/issue/labels/labels_selector_field" .}}
{{template "repo/issue/labels/labels_sidebar" dict "root" $}} {{template "repo/issue/labels/labels_sidebar" dict "root" $}}
<div class="ui divider"></div> <div class="ui divider"></div>
<input id="milestone_id" name="milestone_id" type="hidden" value="{{.milestone_id}}"> <input id="milestone_id" name="milestone_id" type="hidden" value="{{.milestone_id}}">
<div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-milestone dropdown"> <div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-milestone dropdown">
<span class="text"> <span class="text">
<strong>{{.locale.Tr "repo.issues.new.milestone"}}</strong> <strong>{{.locale.Tr "repo.issues.new.milestone"}}</strong>
{{if .HasIssuesOrPullsWritePermission}} {{if .HasIssuesOrPullsWritePermission}}
{{svg "octicon-gear"}} {{svg "octicon-gear"}}
{{end}} {{end}}
</span> </span>
<div class="menu"> <div class="menu">
{{template "repo/issue/milestone/select_menu" .}} {{template "repo/issue/milestone/select_menu" .}}
</div>
</div> </div>
<div class="ui select-milestone list"> </div>
<span class="no-select item {{if .Milestone}}gt-hidden{{end}}">{{.locale.Tr "repo.issues.new.no_milestone"}}</span> <div class="ui select-milestone list">
<div class="selected"> <span class="no-select item {{if .Milestone}}gt-hidden{{end}}">{{.locale.Tr "repo.issues.new.no_milestone"}}</span>
{{if .Milestone}} <div class="selected">
<a class="item muted sidebar-item-link" href="{{.RepoLink}}/issues?milestone={{.Milestone.ID}}"> {{if .Milestone}}
{{svg "octicon-milestone" 18 "gt-mr-3"}} <a class="item muted sidebar-item-link" href="{{.RepoLink}}/issues?milestone={{.Milestone.ID}}">
{{.Milestone.Name}} {{svg "octicon-milestone" 18 "gt-mr-3"}}
</a> {{.Milestone.Name}}
{{end}} </a>
</div> {{end}}
</div> </div>
</div>
{{if .IsProjectsEnabled}} {{if .IsProjectsEnabled}}
<div class="ui divider"></div> <div class="ui divider"></div>
<input id="project_id" name="project_id" type="hidden" value="{{.project_id}}"> <input id="project_id" name="project_id" type="hidden" value="{{.project_id}}">
<div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-project dropdown"> <div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-project dropdown">
<span class="text"> <span class="text">
<strong>{{.locale.Tr "repo.issues.new.projects"}}</strong> <strong>{{.locale.Tr "repo.issues.new.projects"}}</strong>
{{if .HasIssuesOrPullsWritePermission}} {{if .HasIssuesOrPullsWritePermission}}
{{svg "octicon-gear"}} {{svg "octicon-gear"}}
{{end}} {{end}}
</span> </span>
<div class="menu"> <div class="menu">
<div class="header" style="text-transform: none;font-size:16px;">{{.locale.Tr "repo.issues.new.add_project_title"}}</div> <div class="header" style="text-transform: none;font-size:16px;">{{.locale.Tr "repo.issues.new.add_project_title"}}</div>
{{if or .OpenProjects .ClosedProjects}} {{if or .OpenProjects .ClosedProjects}}
<div class="ui icon search input"> <div class="ui icon search input">
<i class="icon gt-df gt-ac gt-jc">{{svg "octicon-search" 16}}</i> <i class="icon gt-df gt-ac gt-jc">{{svg "octicon-search" 16}}</i>
<input type="text" placeholder="{{.locale.Tr "repo.issues.filter_projects"}}"> <input type="text" placeholder="{{.locale.Tr "repo.issues.filter_projects"}}">
</div>
{{end}}
<div class="no-select item">{{.locale.Tr "repo.issues.new.clear_projects"}}</div>
{{if and (not .OpenProjects) (not .ClosedProjects)}}
<div class="header" style="text-transform: none;font-size:14px;">
{{.locale.Tr "repo.issues.new.no_items"}}
</div> </div>
{{end}} {{else}}
<div class="no-select item">{{.locale.Tr "repo.issues.new.clear_projects"}}</div> {{if .OpenProjects}}
{{if and (not .OpenProjects) (not .ClosedProjects)}} <div class="divider"></div>
<div class="header" style="text-transform: none;font-size:14px;"> <div class="header">
{{.locale.Tr "repo.issues.new.no_items"}} {{.locale.Tr "repo.issues.new.open_projects"}}
</div> </div>
{{else}} {{range .OpenProjects}}
{{if .OpenProjects}} <a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}">
<div class="divider"></div> {{svg .IconName 18 "gt-mr-3"}}{{.Title}}
<div class="header">
{{.locale.Tr "repo.issues.new.open_projects"}}
</div>
{{range .OpenProjects}}
<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}">
{{svg .IconName 18 "gt-mr-3"}}{{.Title}}
</a>
{{end}}
{{end}}
{{if .ClosedProjects}}
<div class="divider"></div>
<div class="header">
{{.locale.Tr "repo.issues.new.closed_projects"}}
</div>
{{range .ClosedProjects}}
<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}">
{{svg .IconName 18 "gt-mr-3"}}{{.Title}}
</a>
{{end}}
{{end}}
{{end}}
</div>
</div>
<div class="ui select-project list">
<span class="no-select item {{if .Project}}gt-hidden{{end}}">{{.locale.Tr "repo.issues.new.no_projects"}}</span>
<div class="selected">
{{if .Project}}
<a class="item muted sidebar-item-link" href="{{.Project.Link}}">
{{svg .Project.IconName 18 "gt-mr-3"}}{{.Project.Title}}
</a>
{{end}}
</div>
</div>
{{end}}
<div class="ui divider"></div>
<input id="assignee_ids" name="assignee_ids" type="hidden" value="{{.assignee_ids}}">
<div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-assignees dropdown">
<span class="text">
<strong>{{.locale.Tr "repo.issues.new.assignees"}}</strong>
{{if .HasIssuesOrPullsWritePermission}}
{{svg "octicon-gear"}}
{{end}}
</span>
<div class="filter menu" data-id="#assignee_ids">
<div class="header" style="text-transform: none;font-size:16px;">{{.locale.Tr "repo.issues.new.add_assignees_title"}}</div>
<div class="ui icon search input">
<i class="icon gt-df gt-ac gt-jc">{{svg "octicon-search" 16}}</i>
<input type="text" placeholder="{{.locale.Tr "repo.issues.filter_assignees"}}">
</div>
<div class="no-select item">{{.locale.Tr "repo.issues.new.clear_assignees"}}</div>
{{range .Assignees}}
<a class="item muted" href="#" data-id="{{.ID}}" data-id-selector="#assignee_{{.ID}}">
<span class="octicon-check invisible">{{svg "octicon-check"}}</span>
<span class="text">
{{avatar $.Context . 28 "gt-mr-3"}}{{template "repo/search_name" .}}
</span>
</a> </a>
{{end}} {{end}}
{{end}}
{{if .ClosedProjects}}
<div class="divider"></div>
<div class="header">
{{.locale.Tr "repo.issues.new.closed_projects"}}
</div>
{{range .ClosedProjects}}
<a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link}}">
{{svg .IconName 18 "gt-mr-3"}}{{.Title}}
</a>
{{end}}
{{end}}
{{end}}
</div>
</div>
<div class="ui select-project list">
<span class="no-select item {{if .Project}}gt-hidden{{end}}">{{.locale.Tr "repo.issues.new.no_projects"}}</span>
<div class="selected">
{{if .Project}}
<a class="item muted sidebar-item-link" href="{{.Project.Link}}">
{{svg .Project.IconName 18 "gt-mr-3"}}{{.Project.Title}}
</a>
{{end}}
</div>
</div>
{{end}}
<div class="ui divider"></div>
<input id="assignee_ids" name="assignee_ids" type="hidden" value="{{.assignee_ids}}">
<div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-assignees dropdown">
<span class="text">
<strong>{{.locale.Tr "repo.issues.new.assignees"}}</strong>
{{if .HasIssuesOrPullsWritePermission}}
{{svg "octicon-gear"}}
{{end}}
</span>
<div class="filter menu" data-id="#assignee_ids">
<div class="header" style="text-transform: none;font-size:16px;">{{.locale.Tr "repo.issues.new.add_assignees_title"}}</div>
<div class="ui icon search input">
<i class="icon gt-df gt-ac gt-jc">{{svg "octicon-search" 16}}</i>
<input type="text" placeholder="{{.locale.Tr "repo.issues.filter_assignees"}}">
</div> </div>
</div> <div class="no-select item">{{.locale.Tr "repo.issues.new.clear_assignees"}}</div>
<div class="ui assignees list">
<span class="no-select item {{if .HasSelectedLabel}}gt-hidden{{end}}">
{{.locale.Tr "repo.issues.new.no_assignees"}}
</span>
{{range .Assignees}} {{range .Assignees}}
<a class="item gt-p-2 muted gt-hidden" id="assignee_{{.ID}}" href="{{$.RepoLink}}/issues?assignee={{.ID}}"> <a class="item muted" href="#" data-id="{{.ID}}" data-id-selector="#assignee_{{.ID}}">
{{avatar $.Context . 28 "gt-mr-3 gt-vm"}}{{.GetDisplayName}} <span class="octicon-check invisible">{{svg "octicon-check"}}</span>
<span class="text">
{{avatar $.Context . 28 "gt-mr-3"}}{{template "repo/search_name" .}}
</span>
</a> </a>
{{end}} {{end}}
</div> </div>
{{if and .PageIsComparePull (not (eq .HeadRepo.FullName .BaseCompareRepo.FullName)) .CanWriteToHeadRepo}} </div>
<div class="ui divider"></div> <div class="ui assignees list">
<div class="inline field"> <span class="no-select item {{if .HasSelectedLabel}}gt-hidden{{end}}">
<div class="ui checkbox"> {{.locale.Tr "repo.issues.new.no_assignees"}}
<label data-tooltip-content="{{.locale.Tr "repo.pulls.allow_edits_from_maintainers_desc"}}"><strong>{{.locale.Tr "repo.pulls.allow_edits_from_maintainers"}}</strong></label> </span>
<input name="allow_maintainer_edit" type="checkbox" {{if .AllowMaintainerEdit}}checked{{end}}> {{range .Assignees}}
</div> <a class="item gt-p-2 muted gt-hidden" id="assignee_{{.ID}}" href="{{$.RepoLink}}/issues?assignee={{.ID}}">
{{avatar $.Context . 28 "gt-mr-3 gt-vm"}}{{.GetDisplayName}}
</a>
{{end}}
</div>
{{if and .PageIsComparePull (not (eq .HeadRepo.FullName .BaseCompareRepo.FullName)) .CanWriteToHeadRepo}}
<div class="ui divider"></div>
<div class="inline field">
<div class="ui checkbox">
<label data-tooltip-content="{{.locale.Tr "repo.pulls.allow_edits_from_maintainers_desc"}}"><strong>{{.locale.Tr "repo.pulls.allow_edits_from_maintainers"}}</strong></label>
<input name="allow_maintainer_edit" type="checkbox" {{if .AllowMaintainerEdit}}checked{{end}}>
</div> </div>
{{end}} </div>
</div> {{end}}
<input type="hidden" name="redirect_after_creation" value="{{.redirect_after_creation}}">
</div> </div>
<input type="hidden" name="redirect_after_creation" value="{{.redirect_after_creation}}">
</form> </form>

View file

@ -1,4 +1,4 @@
<div class="ui stackable grid"> <div class="issue-content">
<!-- I know, there is probably a better way to do this (moved from sidebar.tmpl, original author: 6543 @ 2021-02-28) --> <!-- I know, there is probably a better way to do this (moved from sidebar.tmpl, original author: 6543 @ 2021-02-28) -->
<!-- Agree, there should be a better way, eg: introduce window.config.pageData (original author: wxiaoguang @ 2021-09-05) --> <!-- Agree, there should be a better way, eg: introduce window.config.pageData (original author: wxiaoguang @ 2021-09-05) -->
<input type="hidden" id="repolink" value="{{$.RepoRelPath}}"> <input type="hidden" id="repolink" value="{{$.RepoRelPath}}">
@ -7,7 +7,7 @@
<input type="hidden" id="type" value="{{.IssueType}}"> <input type="hidden" id="type" value="{{.IssueType}}">
{{$createdStr:= TimeSinceUnix .Issue.CreatedUnix $.locale}} {{$createdStr:= TimeSinceUnix .Issue.CreatedUnix $.locale}}
<div class="twelve wide column comment-list prevent-before-timeline"> <div class="issue-content-left comment-list prevent-before-timeline">
<div class="ui timeline"> <div class="ui timeline">
<div id="{{.Issue.HashTag}}" class="timeline-item comment first"> <div id="{{.Issue.HashTag}}" class="timeline-item comment first">
{{if .Issue.OriginalAuthor}} {{if .Issue.OriginalAuthor}}

View file

@ -1,100 +1,3 @@
{{if or .PullReviewers .OriginalReviews}}
<div class="comment box timeline-item gt-pt-3 gt-pb-0">
<div class="content">
<div class="ui segment">
<h4>{{$.locale.Tr "repo.issues.review.reviewers"}}</h4>
{{range .PullReviewers}}
{{$createdStr:= TimeSinceUnix .Review.UpdatedUnix $.locale}}
<div class="ui divider"></div>
<div class="review-item">
<div class="review-item-left">
<span class="gt-mr-3 text {{.Review.HTMLTypeColorName}}">
{{svg (printf "octicon-%s" .Review.Type.Icon)}}
</span>
{{if .User}}
<a href="{{.User.HomeLink}}">
{{avatar $.Context .User 20}}
</a>
{{end}}
<span class="gt-ml-2">
{{if .User}}
<a href="{{.User.HomeLink}}">{{.User.GetDisplayName}}</a>
{{else if .Team}}
<span class="ui text">{{$.Issue.Repo.OwnerName}}/{{.Team.Name}}</span>
{{end}}
{{if eq .Review.Type 1}}
{{$.locale.Tr "repo.issues.review.approve" $createdStr | Safe}}
{{else if eq .Review.Type 2}}
{{$.locale.Tr "repo.issues.review.comment" $createdStr | Safe}}
{{else if eq .Review.Type 3}}
{{$.locale.Tr "repo.issues.review.reject" $createdStr | Safe}}
{{else if eq .Review.Type 4}}
{{$.locale.Tr "repo.issues.review.wait" $createdStr | Safe}}
{{else}}
{{$.locale.Tr "repo.issues.review.comment" $createdStr | Safe}}
{{end}}
</span>
</div>
<div class="review-item-right">
{{if .Review.Stale}}
<span class="ui text grey" data-tooltip-content="{{$.locale.Tr "repo.issues.is_stale"}}">
{{svg "octicon-hourglass" 16 "icon"}}
</span>
{{end}}
{{if (and $.Permission.IsAdmin (or (eq .Review.Type 1) (eq .Review.Type 3)) (not $.Issue.IsClosed))}}
<a href="#" class="ui muted icon gt-df gt-ac dismiss-review-btn" data-review-id="dismiss-review-{{.Review.ID}}" data-tooltip-content="{{$.locale.Tr "repo.issues.dismiss_review"}}">
{{svg "octicon-x" 20}}
</a>
<div class="ui small modal" id="dismiss-review-modal">
<div class="header">
{{$.locale.Tr "repo.issues.dismiss_review"}}
</div>
<div class="content">
<div class="ui warning message">
{{$.locale.Tr "repo.issues.dismiss_review_warning"}}
</div>
<form class="ui form dismiss-review-form" id="dismiss-review-{{.Review.ID}}" action="{{$.RepoLink}}/issues/dismiss_review" method="post">
{{$.CsrfTokenHtml}}
<input type="hidden" name="review_id" value="{{.Review.ID}}">
<div class="field">
<label for="message">{{$.locale.Tr "action.review_dismissed_reason"}}</label>
<input id="message" name="message">
</div>
<div class="text right actions">
<button class="ui cancel button">{{$.locale.Tr "settings.cancel"}}</button>
<button class="ui red button" type="submit">{{$.locale.Tr "ok"}}</button>
</div>
</form>
</div>
</div>
{{end}}
{{if .CanChange}}
<a href="#" class="ui icon muted gt-df gt-ac re-request-review{{if .Checked}} checked{{end}}" data-issue-id="{{$.Issue.ID}}" data-tooltip-content="{{if .Checked}}{{$.locale.Tr "repo.issues.remove_request_review"}}{{else}}{{$.locale.Tr "repo.issues.re_request_review"}}{{end}}" data-id="{{.ItemID}}" data-update-url="{{$.RepoLink}}/issues/request_review">{{if .Checked}}{{svg "octicon-trash"}}{{else}}{{svg "octicon-sync"}}{{end}}</a>
{{end}}
</div>
</div>
{{end}}
{{range .OriginalReviews}}
{{$createdStr:= TimeSinceUnix .UpdatedUnix $.locale}}
<div class="ui divider"></div>
<div class="review-item">
<div class="review-item-left">
<span class="gt-mr-3 text {{.Review.HTMLTypeColorName}}">
{{svg (printf "octicon-%s" .Type.Icon)}}
</span>
<a href="{{$.Repository.OriginalURL}}" data-tooltip-content="{{$.locale.Tr "repo.migrated_from_fake" ($.Repository.GetOriginalURLHostname|Escape) | Safe}}">
<span class="text black">
{{svg (MigrationIcon $.Repository.GetOriginalURLHostname)}}
{{.OriginalAuthor}}
</span>
</a>
</div>
</div>
{{end}}
</div>
</div>
</div>
{{end}}
{{if and .Issue.PullRequest.HasMerged (not .IsPullBranchDeletable)}} {{if and .Issue.PullRequest.HasMerged (not .IsPullBranchDeletable)}}
{{/* Then the merge box will not be displayed because this page already contains enough information */}} {{/* Then the merge box will not be displayed because this page already contains enough information */}}
{{else}} {{else}}

File diff suppressed because it is too large Load diff

View file

@ -28,10 +28,6 @@
word-break: break-all; word-break: break-all;
} }
.ui.repository.list .item .ui.header .metas {
font-size: 14px;
}
.ui.repository.list .item .time { .ui.repository.list .item .time {
font-size: 12px; font-size: 12px;
} }

View file

@ -3,7 +3,6 @@
.ui.comments { .ui.comments {
margin: 1.5em 0; margin: 1.5em 0;
max-width: 650px;
} }
.ui.comments:first-child { .ui.comments:first-child {

View file

@ -67,45 +67,64 @@
border: 1px var(--color-yellow) solid; border: 1px var(--color-yellow) solid;
} }
.repository .metas .menu { .issue-content {
display: flex;
align-items: flex-start;
gap: 16px;
}
@media (max-width: 767.98px) {
.issue-content {
flex-direction: column;
}
}
.issue-content-left {
margin: 0 !important;
width: calc(100% - 316px);
}
.issue-content-right {
margin: 0 !important;
width: 300px;
}
@media (max-width: 767.98px) {
.issue-content-left,
.issue-content-right {
width: 100%;
}
}
.repository .issue-content-right .menu {
overflow-x: auto; overflow-x: auto;
max-height: 500px; max-height: 500px;
} }
.repository .metas .ui.list.assignees .item { .repository .issue-content-right .ui.list .dependency {
line-height: 2.5em;
}
.repository .metas .ui.list.assignees .teamavatar {
margin-top: 0.125rem;
margin-left: 6.75px;
margin-right: 8.75px;
}
.repository .metas .ui.list .dependency {
padding: 0; padding: 0;
white-space: nowrap; white-space: nowrap;
} }
.repository .metas .ui.list .title { .repository .issue-content-right .ui.list .title {
max-width: 200px; max-width: 200px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
@media (max-width: 1200px) { @media (max-width: 1200px) {
.repository .metas .ui.list .title { .repository .issue-content-right .ui.list .title {
max-width: 150px; max-width: 150px;
} }
} }
@media (max-width: 1000px) { @media (max-width: 1000px) {
.repository .metas .ui.list .title { .repository .issue-content-right .ui.list .title {
max-width: 100px; max-width: 100px;
} }
} }
.repository .metas #deadlineForm input { .repository .issue-content-right #deadlineForm input {
width: 12.8rem; width: 12.8rem;
border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px;
border-right: 0; border-right: 0;
@ -578,11 +597,7 @@
font-size: 14px; font-size: 14px;
} }
.repository.new.issue .comment.form .metas { .repository.new.issue .comment.form .issue-content-right .filter.menu {
min-width: 220px;
}
.repository.new.issue .comment.form .metas .filter.menu {
max-height: 500px; max-height: 500px;
overflow-x: auto; overflow-x: auto;
} }
@ -699,31 +714,6 @@
margin-top: 1.1rem; margin-top: 1.1rem;
} }
.repository.view.issue .review-item {
display: flex;
justify-content: space-between;
align-items: center;
}
.review-item-left,
.review-item-right {
display: flex;
align-items: center;
}
.review-item-right {
gap: 8px;
margin-left: 4px;
}
.repository.view.issue .review-item .divider {
margin: 0.5rem 0;
}
.repository.view.issue .review-item .review-content {
padding: 1em 0 1em 3.8em;
}
.repository.view.issue .comment-list:not(.prevent-before-timeline)::before { .repository.view.issue .comment-list:not(.prevent-before-timeline)::before {
display: block; display: block;
content: ""; content: "";
@ -761,7 +751,7 @@
.repository.view.issue .comment-list .timeline-item, .repository.view.issue .comment-list .timeline-item,
.repository.view.issue .comment-list .timeline-item-group { .repository.view.issue .comment-list .timeline-item-group {
padding: 12px 0; padding: 16px 0;
} }
.repository.view.issue .comment-list .timeline-item-group .timeline-item { .repository.view.issue .comment-list .timeline-item-group .timeline-item {
@ -1132,11 +1122,6 @@
text-decoration: line-through; text-decoration: line-through;
} }
.repository .comment.form .ui.comments {
margin-top: -12px;
max-width: 100%;
}
.repository .comment.form .content .field:first-child { .repository .comment.form .content .field:first-child {
clear: none; clear: none;
} }
@ -1252,7 +1237,8 @@
} }
.repository.compare.pull .pullrequest-form { .repository.compare.pull .pullrequest-form {
margin-bottom: 1.5rem; margin-top: 16px;
margin-bottom: 16px;
} }
.repository.compare.pull .markup { .repository.compare.pull .markup {