mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	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:
		@@ -38,7 +38,7 @@
 | 
			
		||||
						{{end}}
 | 
			
		||||
					</div>
 | 
			
		||||
				</div>
 | 
			
		||||
				<div class="metas gt-df gt-ac text grey">
 | 
			
		||||
				<div class="gt-font-13 gt-df gt-ac text grey">
 | 
			
		||||
					{{if .PrimaryLanguage}}
 | 
			
		||||
						<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>
 | 
			
		||||
 
 | 
			
		||||
@@ -2,117 +2,112 @@
 | 
			
		||||
<div role="main" aria-label="{{.Title}}" class="page-content repository view issue packages">
 | 
			
		||||
	{{template "user/overview/header" .}}
 | 
			
		||||
	<div class="ui container">
 | 
			
		||||
		<div>
 | 
			
		||||
			<div class="ui stackable grid">
 | 
			
		||||
				<div class="sixteen wide column title">
 | 
			
		||||
					<div class="issue-title">
 | 
			
		||||
						<h1>{{.PackageDescriptor.Package.Name}} ({{.PackageDescriptor.Version.Version}})</h1>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						{{$timeStr := TimeSinceUnix .PackageDescriptor.Version.CreatedUnix $.locale}}
 | 
			
		||||
						{{if .HasRepositoryAccess}}
 | 
			
		||||
							{{.locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) .PackageDescriptor.Repository.Link (.PackageDescriptor.Repository.FullName | Escape) | Safe}}
 | 
			
		||||
						{{else}}
 | 
			
		||||
							{{.locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) | Safe}}
 | 
			
		||||
						{{end}}
 | 
			
		||||
					</div>
 | 
			
		||||
		<div class="issue-title-header">
 | 
			
		||||
			<div class="issue-title">
 | 
			
		||||
				<h1>{{.PackageDescriptor.Package.Name}} ({{.PackageDescriptor.Version.Version}})</h1>
 | 
			
		||||
			</div>
 | 
			
		||||
			<div>
 | 
			
		||||
				{{$timeStr := TimeSinceUnix .PackageDescriptor.Version.CreatedUnix $.locale}}
 | 
			
		||||
				{{if .HasRepositoryAccess}}
 | 
			
		||||
					{{.locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) .PackageDescriptor.Repository.Link (.PackageDescriptor.Repository.FullName | Escape) | Safe}}
 | 
			
		||||
				{{else}}
 | 
			
		||||
					{{.locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) | Safe}}
 | 
			
		||||
				{{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>
 | 
			
		||||
				<div class="twelve wide column">
 | 
			
		||||
					{{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="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}}
 | 
			
		||||
					<strong>{{.locale.Tr "packages.assets"}} ({{len .PackageDescriptor.Files}})</strong>
 | 
			
		||||
					<div class="ui relaxed list">
 | 
			
		||||
					{{range .PackageDescriptor.Files}}
 | 
			
		||||
						<div class="item">
 | 
			
		||||
							<a href="{{$.Link}}/files/{{.File.ID}}">{{.File.Name}}</a>
 | 
			
		||||
							<span class="text small file-size">{{FileSize .Blob.Size}}</span>
 | 
			
		||||
						</div>
 | 
			
		||||
						{{if not (eq .PackageDescriptor.Package.Type "container")}}
 | 
			
		||||
							<div class="ui divider"></div>
 | 
			
		||||
							<strong>{{.locale.Tr "packages.assets"}} ({{len .PackageDescriptor.Files}})</strong>
 | 
			
		||||
							<div class="ui relaxed list">
 | 
			
		||||
							{{range .PackageDescriptor.Files}}
 | 
			
		||||
								<div class="item">
 | 
			
		||||
									<a href="{{$.Link}}/files/{{.File.ID}}">{{.File.Name}}</a>
 | 
			
		||||
									<span class="text small file-size">{{FileSize .Blob.Size}}</span>
 | 
			
		||||
								</div>
 | 
			
		||||
							{{end}}
 | 
			
		||||
							</div>
 | 
			
		||||
					{{end}}
 | 
			
		||||
					</div>
 | 
			
		||||
				{{end}}
 | 
			
		||||
				{{if .LatestVersions}}
 | 
			
		||||
					<div class="ui divider"></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 .LatestVersions}}
 | 
			
		||||
							<div class="ui divider"></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>
 | 
			
		||||
						{{if .CanWritePackages}}
 | 
			
		||||
						<div class="item">{{svg "octicon-tools" 16 "gt-mr-3"}} <a href="{{.Link}}/settings">{{.locale.Tr "repo.settings"}}</a></div>
 | 
			
		||||
						{{end}}
 | 
			
		||||
					</div>
 | 
			
		||||
				</div>
 | 
			
		||||
				{{end}}
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
 
 | 
			
		||||
@@ -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}}
 | 
			
		||||
	{{if .Flash}}
 | 
			
		||||
		<div class="sixteen wide column">
 | 
			
		||||
			{{template "base/alert" .}}
 | 
			
		||||
		</div>
 | 
			
		||||
	{{end}}
 | 
			
		||||
	<div class="twelve wide column">
 | 
			
		||||
	<div class="issue-content-left">
 | 
			
		||||
		<div class="ui comments">
 | 
			
		||||
			<div class="comment">
 | 
			
		||||
				{{template "shared/user/avatarlink" dict "Context" $.Context "user" .SignedUser}}
 | 
			
		||||
				<div class="ui segment content">
 | 
			
		||||
				{{avatar $.Context .SignedUser 40}}
 | 
			
		||||
				<div class="ui segment content gt-my-0">
 | 
			
		||||
					<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">
 | 
			
		||||
						{{if .PageIsComparePull}}
 | 
			
		||||
@@ -48,147 +48,145 @@
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
 | 
			
		||||
	<div class="four wide column">
 | 
			
		||||
		<div class="ui segment metas">
 | 
			
		||||
			{{template "repo/issue/branch_selector_field" .}}
 | 
			
		||||
	<div class="issue-content-right ui segment">
 | 
			
		||||
		{{template "repo/issue/branch_selector_field" .}}
 | 
			
		||||
 | 
			
		||||
			<input id="label_ids" name="label_ids" type="hidden" value="{{.label_ids}}">
 | 
			
		||||
			{{template "repo/issue/labels/labels_selector_field" .}}
 | 
			
		||||
			{{template "repo/issue/labels/labels_sidebar" dict "root" $}}
 | 
			
		||||
		<input id="label_ids" name="label_ids" type="hidden" value="{{.label_ids}}">
 | 
			
		||||
		{{template "repo/issue/labels/labels_selector_field" .}}
 | 
			
		||||
		{{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}}">
 | 
			
		||||
			<div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-milestone dropdown">
 | 
			
		||||
				<span class="text">
 | 
			
		||||
					<strong>{{.locale.Tr "repo.issues.new.milestone"}}</strong>
 | 
			
		||||
					{{if .HasIssuesOrPullsWritePermission}}
 | 
			
		||||
						{{svg "octicon-gear"}}
 | 
			
		||||
					{{end}}
 | 
			
		||||
				</span>
 | 
			
		||||
				<div class="menu">
 | 
			
		||||
					{{template "repo/issue/milestone/select_menu" .}}
 | 
			
		||||
				</div>
 | 
			
		||||
		<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">
 | 
			
		||||
			<span class="text">
 | 
			
		||||
				<strong>{{.locale.Tr "repo.issues.new.milestone"}}</strong>
 | 
			
		||||
				{{if .HasIssuesOrPullsWritePermission}}
 | 
			
		||||
					{{svg "octicon-gear"}}
 | 
			
		||||
				{{end}}
 | 
			
		||||
			</span>
 | 
			
		||||
			<div class="menu">
 | 
			
		||||
				{{template "repo/issue/milestone/select_menu" .}}
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="ui select-milestone list">
 | 
			
		||||
				<span class="no-select item {{if .Milestone}}gt-hidden{{end}}">{{.locale.Tr "repo.issues.new.no_milestone"}}</span>
 | 
			
		||||
				<div class="selected">
 | 
			
		||||
					{{if .Milestone}}
 | 
			
		||||
						<a class="item muted sidebar-item-link" href="{{.RepoLink}}/issues?milestone={{.Milestone.ID}}">
 | 
			
		||||
							{{svg "octicon-milestone" 18 "gt-mr-3"}}
 | 
			
		||||
							{{.Milestone.Name}}
 | 
			
		||||
						</a>
 | 
			
		||||
					{{end}}
 | 
			
		||||
				</div>
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="ui select-milestone list">
 | 
			
		||||
			<span class="no-select item {{if .Milestone}}gt-hidden{{end}}">{{.locale.Tr "repo.issues.new.no_milestone"}}</span>
 | 
			
		||||
			<div class="selected">
 | 
			
		||||
				{{if .Milestone}}
 | 
			
		||||
					<a class="item muted sidebar-item-link" href="{{.RepoLink}}/issues?milestone={{.Milestone.ID}}">
 | 
			
		||||
						{{svg "octicon-milestone" 18 "gt-mr-3"}}
 | 
			
		||||
						{{.Milestone.Name}}
 | 
			
		||||
					</a>
 | 
			
		||||
				{{end}}
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
 | 
			
		||||
			{{if .IsProjectsEnabled}}
 | 
			
		||||
			<div class="ui divider"></div>
 | 
			
		||||
		{{if .IsProjectsEnabled}}
 | 
			
		||||
		<div class="ui divider"></div>
 | 
			
		||||
 | 
			
		||||
			<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">
 | 
			
		||||
				<span class="text">
 | 
			
		||||
					<strong>{{.locale.Tr "repo.issues.new.projects"}}</strong>
 | 
			
		||||
					{{if .HasIssuesOrPullsWritePermission}}
 | 
			
		||||
						{{svg "octicon-gear"}}
 | 
			
		||||
					{{end}}
 | 
			
		||||
				</span>
 | 
			
		||||
				<div class="menu">
 | 
			
		||||
					<div class="header" style="text-transform: none;font-size:16px;">{{.locale.Tr "repo.issues.new.add_project_title"}}</div>
 | 
			
		||||
					{{if or .OpenProjects .ClosedProjects}}
 | 
			
		||||
					<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_projects"}}">
 | 
			
		||||
		<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">
 | 
			
		||||
			<span class="text">
 | 
			
		||||
				<strong>{{.locale.Tr "repo.issues.new.projects"}}</strong>
 | 
			
		||||
				{{if .HasIssuesOrPullsWritePermission}}
 | 
			
		||||
					{{svg "octicon-gear"}}
 | 
			
		||||
				{{end}}
 | 
			
		||||
			</span>
 | 
			
		||||
			<div class="menu">
 | 
			
		||||
				<div class="header" style="text-transform: none;font-size:16px;">{{.locale.Tr "repo.issues.new.add_project_title"}}</div>
 | 
			
		||||
				{{if or .OpenProjects .ClosedProjects}}
 | 
			
		||||
				<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_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>
 | 
			
		||||
					{{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"}}
 | 
			
		||||
				{{else}}
 | 
			
		||||
					{{if .OpenProjects}}
 | 
			
		||||
						<div class="divider"></div>
 | 
			
		||||
						<div class="header">
 | 
			
		||||
							{{.locale.Tr "repo.issues.new.open_projects"}}
 | 
			
		||||
						</div>
 | 
			
		||||
					{{else}}
 | 
			
		||||
						{{if .OpenProjects}}
 | 
			
		||||
							<div class="divider"></div>
 | 
			
		||||
							<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>
 | 
			
		||||
						{{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>
 | 
			
		||||
				<div class="ui assignees list">
 | 
			
		||||
					<span class="no-select item {{if .HasSelectedLabel}}gt-hidden{{end}}">
 | 
			
		||||
						{{.locale.Tr "repo.issues.new.no_assignees"}}
 | 
			
		||||
					</span>
 | 
			
		||||
					<div class="no-select item">{{.locale.Tr "repo.issues.new.clear_assignees"}}</div>
 | 
			
		||||
					{{range .Assignees}}
 | 
			
		||||
						<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 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>
 | 
			
		||||
					{{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>
 | 
			
		||||
			<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}}
 | 
			
		||||
					<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>
 | 
			
		||||
			{{end}}
 | 
			
		||||
		</div>
 | 
			
		||||
		<input type="hidden" name="redirect_after_creation" value="{{.redirect_after_creation}}">
 | 
			
		||||
			</div>
 | 
			
		||||
		{{end}}
 | 
			
		||||
	</div>
 | 
			
		||||
	<input type="hidden" name="redirect_after_creation" value="{{.redirect_after_creation}}">
 | 
			
		||||
</form>
 | 
			
		||||
 
 | 
			
		||||
@@ -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) -->
 | 
			
		||||
	<!-- 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}}">
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
	<input type="hidden" id="type" value="{{.IssueType}}">
 | 
			
		||||
 | 
			
		||||
	{{$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 id="{{.Issue.HashTag}}" class="timeline-item comment first">
 | 
			
		||||
				{{if .Issue.OriginalAuthor}}
 | 
			
		||||
 
 | 
			
		||||
@@ -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)}}
 | 
			
		||||
{{/* Then the merge box will not be displayed because this page already contains enough information */}}
 | 
			
		||||
{{else}}
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user