mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Add the tag list page to the release page (#12096)
* Add the tag list page to the release page * Add the tags list view * Add the delete tag way on ui * Not delete tag and clear message when delete a release Signed-off-by: a1012112796 <1012112796@qq.com> * Apply suggestions from code review Co-authored-by: Cirno the Strongest <1447794+CirnoT@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: zeripath <art27@cantab.net> * fix ui * Add to header * ui * permission * ui * Update options/locale/locale_en-US.ini Co-authored-by: Lauris BH <lauris@nix.lv> * tweaks * monospace commit hashes * Add read permission check * fix permission * fix nit * Update web_src/less/_base.less Co-authored-by: silverwind <me@silverwind.io> * ui fixes * title tweaks * fix lint * fix test * fix test and some ui nits * Apply suggestions from code review Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Cirno the Strongest <1447794+CirnoT@users.noreply.github.com> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
		@@ -3,20 +3,67 @@
 | 
			
		||||
	{{template "repo/header" .}}
 | 
			
		||||
	<div class="ui container">
 | 
			
		||||
		{{template "base/alert" .}}
 | 
			
		||||
		<h2 class="ui header">
 | 
			
		||||
			{{.i18n.Tr "repo.release.releases"}}
 | 
			
		||||
			{{if .CanCreateRelease}}
 | 
			
		||||
				<div class="ui right">
 | 
			
		||||
					<a class="ui small green button" href="{{$.RepoLink}}/releases/new">
 | 
			
		||||
						{{.i18n.Tr "repo.release.new_release"}}
 | 
			
		||||
					</a>
 | 
			
		||||
				</div>
 | 
			
		||||
		<h2 class="ui compact small menu header">
 | 
			
		||||
			{{if .Permission.CanRead $.UnitTypeReleases}}
 | 
			
		||||
				<a class="{{if (not .PageIsTagList)}}active{{end}} item" href="{{.RepoLink}}/releases">{{.i18n.Tr "repo.release.releases"}}</a>
 | 
			
		||||
			{{end}}
 | 
			
		||||
			{{if .Permission.CanRead $.UnitTypeCode}}
 | 
			
		||||
				<a class="{{if .PageIsTagList}}active{{end}} item" href="{{.RepoLink}}/tags">{{.i18n.Tr "repo.release.tags"}}</a>
 | 
			
		||||
			{{end}}
 | 
			
		||||
		</h2>
 | 
			
		||||
		{{if (and .CanCreateRelease (not .PageIsTagList))}}
 | 
			
		||||
			<a class="ui right small green button" href="{{$.RepoLink}}/releases/new">
 | 
			
		||||
				{{.i18n.Tr "repo.release.new_release"}}
 | 
			
		||||
			</a>
 | 
			
		||||
		{{end}}
 | 
			
		||||
		{{if .PageIsTagList}}
 | 
			
		||||
		<div class="ui divider"></div>
 | 
			
		||||
		{{if gt .ReleasesNum 0}}
 | 
			
		||||
		<h4 class="ui top attached header">
 | 
			
		||||
			<div class="five wide column df ac">
 | 
			
		||||
				{{svg "octicon-tag" 16 "mr-2"}}{{.i18n.Tr "repo.release.tags"}}
 | 
			
		||||
			</div>
 | 
			
		||||
		</h4>
 | 
			
		||||
		<div class="ui attached table segment">
 | 
			
		||||
			<table class="ui very basic striped fixed table single line" id="tags-table">
 | 
			
		||||
				<thead></thead>
 | 
			
		||||
				<tbody class="tag-list">
 | 
			
		||||
					{{range $idx, $release := .Releases}}
 | 
			
		||||
						<tr>
 | 
			
		||||
							<td class="tag">
 | 
			
		||||
								<h3 class="release-tag-name mb-3">
 | 
			
		||||
									<a class="df ac" href="{{$.RepoLink}}/src/tag/{{.TagName | EscapePound}}" rel="nofollow">{{.TagName}}</a>
 | 
			
		||||
								</h3>
 | 
			
		||||
								<div class="download df ac">
 | 
			
		||||
									{{if $.Permission.CanRead $.UnitTypeCode}}
 | 
			
		||||
										<a class="mr-3 mono" href="{{$.RepoLink}}/src/commit/{{.Sha1}}" rel="nofollow">{{svg "octicon-git-commit" 16 "mr-2"}}{{ShortSha .Sha1}}</a>
 | 
			
		||||
										<a class="mr-3" href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16 "mr-2"}}ZIP</a>
 | 
			
		||||
										<a class="mr-3" href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.tar.gz">{{svg "octicon-file-zip" 16 "mr-2"}}TAR.GZ</a>
 | 
			
		||||
										{{if (and $.CanCreateRelease $release.IsTag)}}
 | 
			
		||||
											<a class="mr-3" href="{{$.RepoLink}}/releases/new?tag={{.TagName | EscapePound}}">{{svg "octicon-tag" 16 "mr-2"}}{{$.i18n.Tr "repo.release.new_release"}}</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
										{{if (and ($.Permission.CanWrite $.UnitTypeCode) $release.IsTag)}}
 | 
			
		||||
											<a class="ui red delete-button mr-3" data-url="{{$.RepoLink}}/tags/delete" data-id="{{.ID}}">
 | 
			
		||||
												{{svg "octicon-trashcan" 16 "mr-2"}}{{$.i18n.Tr "repo.release.delete_tag"}}
 | 
			
		||||
											</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
										{{if (not $release.IsTag)}}
 | 
			
		||||
											<a class="mr-3" href="{{$.RepoLink}}/releases/tag/{{.TagName | EscapePound}}">{{svg "octicon-tag" 16 "mr-2"}}{{$.i18n.Tr "repo.release.detail"}}</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
									{{end}}
 | 
			
		||||
								</div>
 | 
			
		||||
							</td>
 | 
			
		||||
						</tr>
 | 
			
		||||
					{{end}}
 | 
			
		||||
				</tbody>
 | 
			
		||||
			</table>
 | 
			
		||||
		</div>
 | 
			
		||||
		{{end}}
 | 
			
		||||
		{{else}}
 | 
			
		||||
		<ul id="release-list">
 | 
			
		||||
			{{range $idx, $release := .Releases}}
 | 
			
		||||
				<li class="ui grid">
 | 
			
		||||
					<div class="ui four wide column meta">
 | 
			
		||||
					<div class="ui four wide column meta mt-2">
 | 
			
		||||
						{{if .IsTag}}
 | 
			
		||||
							{{if .CreatedUnix}}<span class="time">{{TimeSinceUnix .CreatedUnix $.Lang}}</span>{{end}}
 | 
			
		||||
						{{else}}
 | 
			
		||||
@@ -28,7 +75,7 @@
 | 
			
		||||
								<span class="ui green label">{{$.i18n.Tr "repo.release.stable"}}</span>
 | 
			
		||||
							{{end}}
 | 
			
		||||
							<span class="tag text blue">
 | 
			
		||||
								<a href="{{$.RepoLink}}/src/tag/{{.TagName | EscapePound}}" rel="nofollow">{{svg "octicon-tag" 16 "mr-2"}}{{.TagName}}</a>
 | 
			
		||||
								<a class="df ac je" href="{{$.RepoLink}}/src/tag/{{.TagName | EscapePound}}" rel="nofollow">{{svg "octicon-tag" 16 "mr-2"}}{{.TagName}}</a>
 | 
			
		||||
							</span>
 | 
			
		||||
							<span class="commit">
 | 
			
		||||
								<a class="mono" href="{{$.RepoLink}}/src/commit/{{.Sha1}}" rel="nofollow">{{svg "octicon-git-commit" 16 "mr-2"}}{{ShortSha .Sha1}}</a>
 | 
			
		||||
@@ -57,15 +104,18 @@
 | 
			
		||||
							{{end}}
 | 
			
		||||
							</div>
 | 
			
		||||
						{{else}}
 | 
			
		||||
							<h3>
 | 
			
		||||
							<h4 class="release-list-title df ac">
 | 
			
		||||
								<a href="{{$.RepoLink}}/releases/tag/{{.TagName | EscapePound}}">{{.Title}}</a>
 | 
			
		||||
								{{if $.CanCreateRelease}}<small>(<a href="{{$.RepoLink}}/releases/edit/{{.TagName | EscapePound}}" rel="nofollow">{{$.i18n.Tr "repo.release.edit"}}</a>)</small>{{end}}
 | 
			
		||||
							</h3>
 | 
			
		||||
								{{if $.CanCreateRelease}}
 | 
			
		||||
									<small class="ml-2">
 | 
			
		||||
										(<a href="{{$.RepoLink}}/releases/edit/{{.TagName | EscapePound}}" rel="nofollow">{{$.i18n.Tr "repo.release.edit"}}</a>)
 | 
			
		||||
									</small>
 | 
			
		||||
								{{end}}
 | 
			
		||||
							</h4>
 | 
			
		||||
							<p class="text grey">
 | 
			
		||||
								<span class="author">
 | 
			
		||||
								{{if .OriginalAuthor}}
 | 
			
		||||
									{{svg "octicon-mark-github"}}
 | 
			
		||||
									{{.OriginalAuthor}}
 | 
			
		||||
									{{svg "octicon-mark-github" 16 "mr-2"}}{{.OriginalAuthor}}
 | 
			
		||||
								{{else if .Publisher}}
 | 
			
		||||
									<img class="img-10" src="{{.Publisher.RelAvatarLink}}">
 | 
			
		||||
									<a href="{{AppSubUrl}}/{{.Publisher.Name}}">{{.Publisher.Name}}</a>
 | 
			
		||||
@@ -73,41 +123,44 @@
 | 
			
		||||
									Ghost
 | 
			
		||||
								{{end}}
 | 
			
		||||
								</span>
 | 
			
		||||
								{{if .CreatedUnix}}<span class="time">{{TimeSinceUnix .CreatedUnix $.Lang}}</span> | {{end}}
 | 
			
		||||
								<span class="released">
 | 
			
		||||
									{{$.i18n.Tr "repo.released_this"}}
 | 
			
		||||
								</span>
 | 
			
		||||
								{{if .CreatedUnix}}
 | 
			
		||||
									<span class="time">{{TimeSinceUnix .CreatedUnix $.Lang}}</span> | 
 | 
			
		||||
								{{end}}
 | 
			
		||||
								<span class="ahead"><a href="{{$.RepoLink}}/compare/{{.TagName | EscapePound}}...{{.Target}}">{{$.i18n.Tr "repo.release.ahead.commits" .NumCommitsBehind | Str2html}}</a> {{$.i18n.Tr "repo.release.ahead.target" .Target}}</span>
 | 
			
		||||
							</p>
 | 
			
		||||
							<div class="markdown desc">
 | 
			
		||||
								{{Str2html .Note}}
 | 
			
		||||
							</div>
 | 
			
		||||
							<div class="download">
 | 
			
		||||
								<div class="ui accordion">
 | 
			
		||||
									<h2 class="title {{if eq $idx 0}}active{{end}}">
 | 
			
		||||
										{{svg "octicon-triangle-down" 14 "dropdown icon"}}
 | 
			
		||||
										{{$.i18n.Tr "repo.release.downloads"}}
 | 
			
		||||
									</h2>
 | 
			
		||||
									<div class="content {{if eq $idx 0}}active{{end}}">
 | 
			
		||||
										<ul class="list">
 | 
			
		||||
											{{if $.Permission.CanRead $.UnitTypeCode}}
 | 
			
		||||
							<div class="ui accordion download">
 | 
			
		||||
								<h2 class="title {{if eq $idx 0}}active{{end}} df ac mb-0">
 | 
			
		||||
									{{svg "octicon-triangle-right" 14 "dropdown icon"}}
 | 
			
		||||
									{{$.i18n.Tr "repo.release.downloads"}}
 | 
			
		||||
								</h2>
 | 
			
		||||
								<div class="content {{if eq $idx 0}}active{{end}}">
 | 
			
		||||
									<ul class="list">
 | 
			
		||||
										{{if $.Permission.CanRead $.UnitTypeCode}}
 | 
			
		||||
											<li>
 | 
			
		||||
												<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.zip" rel="nofollow"><strong>{{svg "octicon-file-zip" 16 "mr-2"}}{{$.i18n.Tr "repo.release.source_code"}} (ZIP)</strong></a>
 | 
			
		||||
											</li>
 | 
			
		||||
											<li>
 | 
			
		||||
												<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.tar.gz"><strong>{{svg "octicon-file-zip" 16 "mr-2"}}{{$.i18n.Tr "repo.release.source_code"}} (TAR.GZ)</strong></a>
 | 
			
		||||
											</li>
 | 
			
		||||
										{{end}}
 | 
			
		||||
										{{if .Attachments}}
 | 
			
		||||
											{{range .Attachments}}
 | 
			
		||||
												<li>
 | 
			
		||||
													<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.zip" rel="nofollow"><strong>{{svg "octicon-file-zip"}} {{$.i18n.Tr "repo.release.source_code"}} (ZIP)</strong></a>
 | 
			
		||||
												</li>
 | 
			
		||||
												<li>
 | 
			
		||||
													<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.tar.gz"><strong>{{svg "octicon-file-zip"}} {{$.i18n.Tr "repo.release.source_code"}} (TAR.GZ)</strong></a>
 | 
			
		||||
													<span class="ui text right" data-tooltip="{{$.i18n.Tr "repo.release.download_count" (.DownloadCount | PrettyNumber)}}" data-position="bottom right">{{svg "octicon-info"}}</span>
 | 
			
		||||
													<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}">
 | 
			
		||||
														<strong><span class="ui image" title='{{.Name}}'>{{svg "octicon-package" 16 "mr-2"}}</span>{{.Name}}</strong>
 | 
			
		||||
														<span class="ui text grey right">{{.Size | FileSize}}</span>
 | 
			
		||||
													</a>
 | 
			
		||||
												</li>
 | 
			
		||||
											{{end}}
 | 
			
		||||
											{{if .Attachments}}
 | 
			
		||||
												{{range .Attachments}}
 | 
			
		||||
													<li>
 | 
			
		||||
														<span class="ui text right" data-tooltip="{{$.i18n.Tr "repo.release.download_count" (.DownloadCount | PrettyNumber)}}" data-position="bottom right">{{svg "octicon-info"}}</span>
 | 
			
		||||
														<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}">
 | 
			
		||||
															<strong><span class="ui image" title='{{.Name}}'>{{svg "octicon-package"}}</span> {{.Name}}</strong>
 | 
			
		||||
															<span class="ui text grey right">{{.Size | FileSize}}</span>
 | 
			
		||||
														</a>
 | 
			
		||||
													</li>
 | 
			
		||||
												{{end}}
 | 
			
		||||
											{{end}}
 | 
			
		||||
										</ul>
 | 
			
		||||
									</div>
 | 
			
		||||
										{{end}}
 | 
			
		||||
									</ul>
 | 
			
		||||
								</div>
 | 
			
		||||
							</div>
 | 
			
		||||
						{{end}}
 | 
			
		||||
@@ -116,7 +169,22 @@
 | 
			
		||||
				</li>
 | 
			
		||||
			{{end}}
 | 
			
		||||
		</ul>
 | 
			
		||||
		{{end}}
 | 
			
		||||
		{{template "base/paginate" .}}
 | 
			
		||||
	</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
{{if (and ($.Permission.CanWrite $.UnitTypeCode) .PageIsTagList)}}
 | 
			
		||||
	<div class="ui small basic delete modal">
 | 
			
		||||
		<div class="ui header">
 | 
			
		||||
			{{svg "octicon-trashcan" 16 "mr-2"}}
 | 
			
		||||
			{{.i18n.Tr "repo.release.delete_tag"}}
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="content">
 | 
			
		||||
			<p>{{.i18n.Tr "repo.release.deletion_tag_desc"}}</p>
 | 
			
		||||
		</div>
 | 
			
		||||
		{{template "base/delete_modal_actions" .}}
 | 
			
		||||
	</div>
 | 
			
		||||
{{end}}
 | 
			
		||||
 | 
			
		||||
{{template "base/footer" .}}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user