mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Add tags list for repos whose release setting is disabled (#23465)
Close #23427 Co-Author: @wxiaoguang If a repo's release setting is enabled, the logic has't changed. Clicking the "Tags" button will jump to `/{user}/{repo}/tags` and `templates/repo/release/list.tmpl` template will be used. <img src="https://user-images.githubusercontent.com/15528715/224939362-bd8974fd-08b0-4f79-a114-3389d15847ca.png" width="600px" /> If the release setting is disabled, clicking the "Tags" button will still jump to `/{user}/{repo}/tags` but a new template `templates/repo/tag/list.tmpl` will be used. <img src="https://user-images.githubusercontent.com/15528715/233834564-74741e49-f4e9-47c8-ac12-e306642798dc.png" width="600px" /> Since both templates above need to render the tags list, I moved the tags list to a shared template located in `templates/repo/tag/table.tmpl`. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
		@@ -29,8 +29,9 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	tplReleases   base.TplName = "repo/release/list"
 | 
			
		||||
	tplReleaseNew base.TplName = "repo/release/new"
 | 
			
		||||
	tplReleasesList base.TplName = "repo/release/list"
 | 
			
		||||
	tplReleaseNew   base.TplName = "repo/release/new"
 | 
			
		||||
	tplTagsList     base.TplName = "repo/tag/list"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// calReleaseNumCommitsBehind calculates given release has how many commits behind release target.
 | 
			
		||||
@@ -58,16 +59,19 @@ func calReleaseNumCommitsBehind(repoCtx *context.Repository, release *repo_model
 | 
			
		||||
 | 
			
		||||
// Releases render releases list page
 | 
			
		||||
func Releases(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["PageIsReleaseList"] = true
 | 
			
		||||
	ctx.Data["Title"] = ctx.Tr("repo.release.releases")
 | 
			
		||||
	releasesOrTags(ctx, false)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TagsList render tags list page
 | 
			
		||||
func TagsList(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["PageIsTagList"] = true
 | 
			
		||||
	ctx.Data["Title"] = ctx.Tr("repo.release.tags")
 | 
			
		||||
	releasesOrTags(ctx, true)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func releasesOrTags(ctx *context.Context, isTagList bool) {
 | 
			
		||||
	ctx.Data["PageIsReleaseList"] = true
 | 
			
		||||
	ctx.Data["DefaultBranch"] = ctx.Repo.Repository.DefaultBranch
 | 
			
		||||
	ctx.Data["IsViewBranch"] = false
 | 
			
		||||
	ctx.Data["IsViewTag"] = true
 | 
			
		||||
@@ -75,14 +79,6 @@ func releasesOrTags(ctx *context.Context, isTagList bool) {
 | 
			
		||||
	ctx.Data["CanCreateBranch"] = false
 | 
			
		||||
	ctx.Data["HideBranchesInDropdown"] = true
 | 
			
		||||
 | 
			
		||||
	if isTagList {
 | 
			
		||||
		ctx.Data["Title"] = ctx.Tr("repo.release.tags")
 | 
			
		||||
		ctx.Data["PageIsTagList"] = true
 | 
			
		||||
	} else {
 | 
			
		||||
		ctx.Data["Title"] = ctx.Tr("repo.release.releases")
 | 
			
		||||
		ctx.Data["PageIsTagList"] = false
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	listOptions := db.ListOptions{
 | 
			
		||||
		Page:     ctx.FormInt("page"),
 | 
			
		||||
		PageSize: ctx.FormInt("limit"),
 | 
			
		||||
@@ -196,7 +192,11 @@ func releasesOrTags(ctx *context.Context, isTagList bool) {
 | 
			
		||||
	pager.SetDefaultParams(ctx)
 | 
			
		||||
	ctx.Data["Page"] = pager
 | 
			
		||||
 | 
			
		||||
	ctx.HTML(http.StatusOK, tplReleases)
 | 
			
		||||
	if isTagList {
 | 
			
		||||
		ctx.HTML(http.StatusOK, tplTagsList)
 | 
			
		||||
	} else {
 | 
			
		||||
		ctx.HTML(http.StatusOK, tplReleasesList)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ReleasesFeedRSS get feeds for releases in RSS format
 | 
			
		||||
@@ -282,7 +282,7 @@ func SingleRelease(ctx *context.Context) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	ctx.Data["Releases"] = []*repo_model.Release{release}
 | 
			
		||||
	ctx.HTML(http.StatusOK, tplReleases)
 | 
			
		||||
	ctx.HTML(http.StatusOK, tplReleasesList)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// LatestRelease redirects to the latest release
 | 
			
		||||
 
 | 
			
		||||
@@ -1198,7 +1198,7 @@ func RegisterRoutes(m *web.Route) {
 | 
			
		||||
		}, context.RepoMustNotBeArchived(), reqRepoCodeWriter, repo.MustBeNotEmpty)
 | 
			
		||||
	}, reqSignIn, context.RepoAssignment, context.UnitTypes())
 | 
			
		||||
 | 
			
		||||
	// Releases
 | 
			
		||||
	// Tags
 | 
			
		||||
	m.Group("/{username}/{reponame}", func() {
 | 
			
		||||
		m.Group("/tags", func() {
 | 
			
		||||
			m.Get("", repo.TagsList)
 | 
			
		||||
@@ -1207,6 +1207,12 @@ func RegisterRoutes(m *web.Route) {
 | 
			
		||||
		}, func(ctx *context.Context) {
 | 
			
		||||
			ctx.Data["EnableFeed"] = setting.Other.EnableFeed
 | 
			
		||||
		}, repo.MustBeNotEmpty, reqRepoCodeReader, context.RepoRefByType(context.RepoRefTag, true))
 | 
			
		||||
		m.Post("/tags/delete", repo.DeleteTag, reqSignIn,
 | 
			
		||||
			repo.MustBeNotEmpty, context.RepoMustNotBeArchived(), reqRepoCodeWriter, context.RepoRef())
 | 
			
		||||
	}, reqSignIn, context.RepoAssignment, context.UnitTypes())
 | 
			
		||||
 | 
			
		||||
	// Releases
 | 
			
		||||
	m.Group("/{username}/{reponame}", func() {
 | 
			
		||||
		m.Group("/releases", func() {
 | 
			
		||||
			m.Get("/", repo.Releases)
 | 
			
		||||
			m.Get("/tag/*", repo.SingleRelease)
 | 
			
		||||
@@ -1224,8 +1230,6 @@ func RegisterRoutes(m *web.Route) {
 | 
			
		||||
			m.Post("/attachments", repo.UploadReleaseAttachment)
 | 
			
		||||
			m.Post("/attachments/remove", repo.DeleteAttachment)
 | 
			
		||||
		}, reqSignIn, repo.MustBeNotEmpty, context.RepoMustNotBeArchived(), reqRepoReleaseWriter, context.RepoRef())
 | 
			
		||||
		m.Post("/tags/delete", repo.DeleteTag, reqSignIn,
 | 
			
		||||
			repo.MustBeNotEmpty, context.RepoMustNotBeArchived(), reqRepoCodeWriter, context.RepoRef())
 | 
			
		||||
		m.Group("/releases", func() {
 | 
			
		||||
			m.Get("/edit/*", repo.EditRelease)
 | 
			
		||||
			m.Post("/edit/*", web.Bind(forms.EditReleaseForm{}), repo.EditReleasePost)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,73 +1,16 @@
 | 
			
		||||
{{template "base/head" .}}
 | 
			
		||||
<div role="main" aria-label="{{.Title}}" class="page-content repository release">
 | 
			
		||||
<div role="main" aria-label="{{.Title}}" class="page-content repository releases">
 | 
			
		||||
	{{template "repo/header" .}}
 | 
			
		||||
	<div class="ui container">
 | 
			
		||||
		{{template "base/alert" .}}
 | 
			
		||||
		<h2 class="ui compact small menu header">
 | 
			
		||||
			{{if .Permission.CanRead $.UnitTypeReleases}}
 | 
			
		||||
				<a class="{{if (and (not .PageIsSingleTag) (not .PageIsTagList))}}active {{end}}item" href="{{.RepoLink}}/releases">{{.locale.Tr "repo.release.releases"}}</a>
 | 
			
		||||
			{{end}}
 | 
			
		||||
			{{if .Permission.CanRead $.UnitTypeCode}}
 | 
			
		||||
				<a class="{{if (or .PageIsSingleTag .PageIsTagList)}}active {{end}}item" href="{{.RepoLink}}/tags">{{.locale.Tr "repo.release.tags"}}</a>
 | 
			
		||||
			{{end}}
 | 
			
		||||
		</h2>
 | 
			
		||||
		{{if .EnableFeed}}
 | 
			
		||||
			<a href="{{.RepoLink}}/{{if .PageIsTagList}}tags{{else}}releases{{end}}.rss"><i class="ui grey icon gt-ml-3" data-tooltip-content="{{.locale.Tr "rss_feed"}}">{{svg "octicon-rss" 18}}</i></a>
 | 
			
		||||
		{{end}}
 | 
			
		||||
		{{if (and .CanCreateRelease (not .PageIsTagList))}}
 | 
			
		||||
		{{template "repo/sub_menu_release_tag" .}}
 | 
			
		||||
 | 
			
		||||
		{{if .CanCreateRelease}}
 | 
			
		||||
			<a class="ui right small green button" href="{{$.RepoLink}}/releases/new">
 | 
			
		||||
				{{.locale.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 gt-df gt-ac">
 | 
			
		||||
				{{svg "octicon-tag" 16 "gt-mr-2"}}{{.locale.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 gt-mb-3">
 | 
			
		||||
									<a class="gt-df gt-ac" href="{{$.RepoLink}}/releases/tag/{{.TagName | PathEscapeSegments}}" rel="nofollow">{{.TagName}}</a>
 | 
			
		||||
								</h3>
 | 
			
		||||
								<div class="download gt-df gt-ac">
 | 
			
		||||
									{{if $.Permission.CanRead $.UnitTypeCode}}
 | 
			
		||||
										{{if .CreatedUnix}}
 | 
			
		||||
											<span class="gt-mr-3">{{svg "octicon-clock" 16 "gt-mr-2"}}{{TimeSinceUnix .CreatedUnix $.locale}}</span>
 | 
			
		||||
										{{end}}
 | 
			
		||||
										<a class="gt-mr-3 gt-mono muted" href="{{$.RepoLink}}/src/commit/{{.Sha1}}" rel="nofollow">{{svg "octicon-git-commit" 16 "gt-mr-2"}}{{ShortSha .Sha1}}</a>
 | 
			
		||||
										{{if not $.DisableDownloadSourceArchives}}
 | 
			
		||||
											<a class="archive-link gt-mr-3 muted" href="{{$.RepoLink}}/archive/{{.TagName | PathEscapeSegments}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-2"}}ZIP</a>
 | 
			
		||||
											<a class="archive-link gt-mr-3 muted" href="{{$.RepoLink}}/archive/{{.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-2"}}TAR.GZ</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
										{{if (and $.CanCreateRelease $release.IsTag)}}
 | 
			
		||||
											<a class="gt-mr-3 muted" href="{{$.RepoLink}}/releases/new?tag={{.TagName}}">{{svg "octicon-tag" 16 "gt-mr-2"}}{{$.locale.Tr "repo.release.new_release"}}</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
										{{if (and ($.Permission.CanWrite $.UnitTypeCode) $release.IsTag)}}
 | 
			
		||||
											<a class="ui delete-button gt-mr-3 muted" data-url="{{$.RepoLink}}/tags/delete" data-id="{{.ID}}">
 | 
			
		||||
												{{svg "octicon-trash" 16 "gt-mr-2"}}{{$.locale.Tr "repo.release.delete_tag"}}
 | 
			
		||||
											</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
										{{if (not $release.IsTag)}}
 | 
			
		||||
											<a class="gt-mr-3 muted" href="{{$.RepoLink}}/releases/tag/{{.TagName | PathEscapeSegments}}">{{svg "octicon-tag" 16 "gt-mr-2"}}{{$.locale.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">
 | 
			
		||||
@@ -178,7 +121,7 @@
 | 
			
		||||
				</li>
 | 
			
		||||
			{{end}}
 | 
			
		||||
		</ul>
 | 
			
		||||
		{{end}}
 | 
			
		||||
 | 
			
		||||
		{{template "base/paginate" .}}
 | 
			
		||||
	</div>
 | 
			
		||||
</div>
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@
 | 
			
		||||
					<a href="{{.RepoLink}}/branches">{{svg "octicon-git-branch"}} <b>{{.BranchesCount}}</b> {{.locale.TrN .BranchesCount "repo.branch" "repo.branches"}}</a>
 | 
			
		||||
				</div>
 | 
			
		||||
				{{if $.Permission.CanRead $.UnitTypeCode}}
 | 
			
		||||
					<div class="item">
 | 
			
		||||
					<div class="item{{if .PageIsTagList}} active{{end}}">
 | 
			
		||||
						<a href="{{.RepoLink}}/tags">{{svg "octicon-tag"}} <b>{{.NumTags}}</b> {{.locale.TrN .NumTags "repo.tag" "repo.tags"}}</a>
 | 
			
		||||
					</div>
 | 
			
		||||
				{{end}}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								templates/repo/sub_menu_release_tag.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								templates/repo/sub_menu_release_tag.tmpl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
{{$canReadReleases := $.Permission.CanRead $.UnitTypeReleases}}
 | 
			
		||||
{{$canReadCode := $.Permission.CanRead $.UnitTypeCode}}
 | 
			
		||||
 | 
			
		||||
{{if $canReadReleases}}
 | 
			
		||||
	<h2 class="ui compact small menu header">
 | 
			
		||||
		<a class="{{if .PageIsReleaseList}}active {{end}}item" href="{{.RepoLink}}/releases">{{.locale.Tr "repo.release.releases"}}</a>
 | 
			
		||||
		{{if $canReadCode}}
 | 
			
		||||
			<a class="{{if .PageIsTagList}}active {{end}}item" href="{{.RepoLink}}/tags">{{.locale.Tr "repo.release.tags"}}</a>
 | 
			
		||||
		{{end}}
 | 
			
		||||
	</h2>
 | 
			
		||||
 | 
			
		||||
	{{if .EnableFeed}}
 | 
			
		||||
		<a href="{{.RepoLink}}/{{if .PageIsTagList}}tags{{else}}releases{{end}}.rss"><i class="ui grey icon gt-ml-3" data-tooltip-content="{{.locale.Tr "rss_feed"}}">{{svg "octicon-rss" 18}}</i></a>
 | 
			
		||||
	{{end}}
 | 
			
		||||
{{else if $canReadCode}}
 | 
			
		||||
	{{template "repo/sub_menu" .}}
 | 
			
		||||
{{end}}
 | 
			
		||||
							
								
								
									
										85
									
								
								templates/repo/tag/list.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								templates/repo/tag/list.tmpl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,85 @@
 | 
			
		||||
{{template "base/head" .}}
 | 
			
		||||
 | 
			
		||||
<div role="main" aria-label="{{.Title}}" class="page-content repository tags">
 | 
			
		||||
	{{template "repo/header" .}}
 | 
			
		||||
	<div class="ui container">
 | 
			
		||||
		{{template "base/alert" .}}
 | 
			
		||||
		{{template "repo/sub_menu_release_tag" .}}
 | 
			
		||||
 | 
			
		||||
		<div class="ui divider"></div>
 | 
			
		||||
 | 
			
		||||
		<h4 class="ui top attached header">
 | 
			
		||||
			<div class="five wide column gt-df gt-ac">
 | 
			
		||||
				{{svg "octicon-tag" 16 "gt-mr-2"}}{{.locale.Tr "repo.release.tags"}}
 | 
			
		||||
			</div>
 | 
			
		||||
		</h4>
 | 
			
		||||
 | 
			
		||||
		{{$canReadReleases := $.Permission.CanRead $.UnitTypeReleases}}
 | 
			
		||||
 | 
			
		||||
		<div class="ui attached table segment">
 | 
			
		||||
			<table class="ui very basic striped fixed table single line" id="tags-table">
 | 
			
		||||
				<tbody class="tag-list">
 | 
			
		||||
					{{range $idx, $release := .Releases}}
 | 
			
		||||
						<tr>
 | 
			
		||||
							<td class="tag">
 | 
			
		||||
								<h3 class="release-tag-name gt-mb-3">
 | 
			
		||||
									{{if $canReadReleases}}
 | 
			
		||||
										<a class="gt-df gt-ac" href="{{$.RepoLink}}/releases/tag/{{.TagName | PathEscapeSegments}}" rel="nofollow">{{.TagName}}</a>
 | 
			
		||||
									{{else}}
 | 
			
		||||
										<a class="gt-df gt-ac" href="{{$.RepoLink}}/src/tag/{{.TagName | PathEscapeSegments}}" rel="nofollow">{{.TagName}}</a>
 | 
			
		||||
									{{end}}
 | 
			
		||||
								</h3>
 | 
			
		||||
								<div class="download gt-df gt-ac">
 | 
			
		||||
									{{if $.Permission.CanRead $.UnitTypeCode}}
 | 
			
		||||
										{{if .CreatedUnix}}
 | 
			
		||||
											<span class="gt-mr-3">{{svg "octicon-clock" 16 "gt-mr-2"}}{{TimeSinceUnix .CreatedUnix $.locale}}</span>
 | 
			
		||||
										{{end}}
 | 
			
		||||
 | 
			
		||||
										<a class="gt-mr-3 gt-mono muted" href="{{$.RepoLink}}/src/commit/{{.Sha1}}" rel="nofollow">{{svg "octicon-git-commit" 16 "gt-mr-2"}}{{ShortSha .Sha1}}</a>
 | 
			
		||||
 | 
			
		||||
										{{if not $.DisableDownloadSourceArchives}}
 | 
			
		||||
											<a class="archive-link gt-mr-3 muted" href="{{$.RepoLink}}/archive/{{.TagName | PathEscapeSegments}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-2"}}ZIP</a>
 | 
			
		||||
											<a class="archive-link gt-mr-3 muted" href="{{$.RepoLink}}/archive/{{.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip" 16 "gt-mr-2"}}TAR.GZ</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
 | 
			
		||||
										{{if (and $canReadReleases $.CanCreateRelease $release.IsTag)}}
 | 
			
		||||
											<a class="gt-mr-3 muted" href="{{$.RepoLink}}/releases/new?tag={{.TagName}}">{{svg "octicon-tag" 16 "gt-mr-2"}}{{$.locale.Tr "repo.release.new_release"}}</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
 | 
			
		||||
										{{if (and ($.Permission.CanWrite $.UnitTypeCode) $release.IsTag)}}
 | 
			
		||||
											<a class="ui delete-button gt-mr-3 muted" data-url="{{$.RepoLink}}/tags/delete" data-id="{{.ID}}">
 | 
			
		||||
												{{svg "octicon-trash" 16 "gt-mr-2"}}{{$.locale.Tr "repo.release.delete_tag"}}
 | 
			
		||||
											</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
 | 
			
		||||
										{{if and $canReadReleases (not $release.IsTag)}}
 | 
			
		||||
											<a class="gt-mr-3 muted" href="{{$.RepoLink}}/releases/tag/{{.TagName | PathEscapeSegments}}">{{svg "octicon-tag" 16 "gt-mr-2"}}{{$.locale.Tr "repo.release.detail"}}</a>
 | 
			
		||||
										{{end}}
 | 
			
		||||
									{{end}}
 | 
			
		||||
								</div>
 | 
			
		||||
							</td>
 | 
			
		||||
						</tr>
 | 
			
		||||
					{{end}}
 | 
			
		||||
				</tbody>
 | 
			
		||||
			</table>
 | 
			
		||||
		</div>
 | 
			
		||||
 | 
			
		||||
		{{template "base/paginate" .}}
 | 
			
		||||
	</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
{{if $.Permission.CanWrite $.UnitTypeCode}}
 | 
			
		||||
<div class="ui g-modal-confirm delete modal">
 | 
			
		||||
	<div class="header">
 | 
			
		||||
		{{svg "octicon-trash"}}
 | 
			
		||||
		{{.locale.Tr "repo.release.delete_tag"}}
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="content">
 | 
			
		||||
		<p>{{.locale.Tr "repo.release.deletion_tag_desc"}}</p>
 | 
			
		||||
	</div>
 | 
			
		||||
	{{template "base/modal_actions_confirm" .}}
 | 
			
		||||
</div>
 | 
			
		||||
{{end}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{{template "base/footer" .}}
 | 
			
		||||
@@ -30,6 +30,7 @@
 | 
			
		||||
@import "./install.css";
 | 
			
		||||
@import "./form.css";
 | 
			
		||||
@import "./repository.css";
 | 
			
		||||
@import "./repository-release-tag.css";
 | 
			
		||||
@import "./editor.css";
 | 
			
		||||
@import "./editor-markdown.css";
 | 
			
		||||
@import "./organization.css";
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										151
									
								
								web_src/css/repository-release-tag.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								web_src/css/repository-release-tag.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,151 @@
 | 
			
		||||
.repository.releases #release-list {
 | 
			
		||||
  border-top: 1px solid var(--color-secondary);
 | 
			
		||||
  margin-top: 20px;
 | 
			
		||||
  padding-top: 15px;
 | 
			
		||||
  padding-left: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list .release-list-title {
 | 
			
		||||
  font-size: 2rem;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
  margin-top: -4px;
 | 
			
		||||
  margin-bottom: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li {
 | 
			
		||||
  list-style: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .meta,
 | 
			
		||||
.repository.releases #release-list > li .detail {
 | 
			
		||||
  padding-top: 30px;
 | 
			
		||||
  padding-bottom: 40px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .meta {
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  position: relative;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .meta .label {
 | 
			
		||||
  margin-right: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .meta .commit {
 | 
			
		||||
  display: block;
 | 
			
		||||
  margin-top: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .meta .choose {
 | 
			
		||||
  margin-top: 15px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .meta .choose .button {
 | 
			
		||||
  margin-right: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail {
 | 
			
		||||
  border-left: 2px solid var(--color-secondary);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail .author img {
 | 
			
		||||
  margin-bottom: 3px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail .download > a .svg {
 | 
			
		||||
  margin-left: 5px;
 | 
			
		||||
  margin-right: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail .download .list {
 | 
			
		||||
  padding-left: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail .download .list li {
 | 
			
		||||
  list-style: none;
 | 
			
		||||
  display: block;
 | 
			
		||||
  padding: 8px;
 | 
			
		||||
  border: 1px solid var(--color-secondary);
 | 
			
		||||
  background: var(--color-light);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail .download .list li a > .text.right {
 | 
			
		||||
  margin-right: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail .download .list li + li {
 | 
			
		||||
  border-top: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail .download .list li:first-of-type {
 | 
			
		||||
  border-radius: var(--border-radius) 0 0 var(--border-radius);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail .download .list li:last-of-type {
 | 
			
		||||
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.releases #release-list > li .detail .dot {
 | 
			
		||||
  width: 10px;
 | 
			
		||||
  height: 10px;
 | 
			
		||||
  background-color: var(--color-secondary-dark-3);
 | 
			
		||||
  z-index: 9;
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  display: block;
 | 
			
		||||
  left: -6px;
 | 
			
		||||
  top: 40px;
 | 
			
		||||
  border-radius: 100%;
 | 
			
		||||
  border: 2.5px solid var(--color-body);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.tags #tags-table .tag {
 | 
			
		||||
  padding: 8px 12px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.tags #tags-table .release-tag-name {
 | 
			
		||||
  font-size: 18px;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .target {
 | 
			
		||||
  min-width: 500px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .target #tag-name {
 | 
			
		||||
  margin-top: -4px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .target .at {
 | 
			
		||||
  margin-left: -5px;
 | 
			
		||||
  margin-right: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .target .selection.dropdown {
 | 
			
		||||
  padding-top: 10px;
 | 
			
		||||
  padding-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .prerelease.field {
 | 
			
		||||
  margin-bottom: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (max-width: 438px) {
 | 
			
		||||
  .repository.new.release .field button,
 | 
			
		||||
  .repository.new.release .field input {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (max-width: 767px) {
 | 
			
		||||
  .repository.new.release .field button {
 | 
			
		||||
    margin-bottom: 1em;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .field .wrap_remove {
 | 
			
		||||
  height: 38px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .field .attachment_edit {
 | 
			
		||||
  width: 450px !important;
 | 
			
		||||
}
 | 
			
		||||
@@ -1923,157 +1923,6 @@
 | 
			
		||||
  flex: 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list {
 | 
			
		||||
  border-top: 1px solid var(--color-secondary);
 | 
			
		||||
  margin-top: 20px;
 | 
			
		||||
  padding-top: 15px;
 | 
			
		||||
  padding-left: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list .release-list-title {
 | 
			
		||||
  font-size: 2rem;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
  margin-top: -4px;
 | 
			
		||||
  margin-bottom: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li {
 | 
			
		||||
  list-style: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .meta,
 | 
			
		||||
.repository.release #release-list > li .detail {
 | 
			
		||||
  padding-top: 30px;
 | 
			
		||||
  padding-bottom: 40px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .meta {
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  position: relative;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .meta .label {
 | 
			
		||||
  margin-right: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .meta .commit {
 | 
			
		||||
  display: block;
 | 
			
		||||
  margin-top: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .meta .choose {
 | 
			
		||||
  margin-top: 15px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .meta .choose .button {
 | 
			
		||||
  margin-right: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail {
 | 
			
		||||
  border-left: 2px solid var(--color-secondary);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail .author img {
 | 
			
		||||
  margin-bottom: 3px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail .download > a .svg {
 | 
			
		||||
  margin-left: 5px;
 | 
			
		||||
  margin-right: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail .download .list {
 | 
			
		||||
  padding-left: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail .download .list li {
 | 
			
		||||
  list-style: none;
 | 
			
		||||
  display: block;
 | 
			
		||||
  padding: 8px;
 | 
			
		||||
  border: 1px solid var(--color-secondary);
 | 
			
		||||
  background: var(--color-light);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail .download .list li a > .text.right {
 | 
			
		||||
  margin-right: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail .download .list li + li {
 | 
			
		||||
  border-top: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail .download .list li:first-of-type {
 | 
			
		||||
  border-radius: var(--border-radius) 0 0 var(--border-radius);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail .download .list li:last-of-type {
 | 
			
		||||
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #release-list > li .detail .dot {
 | 
			
		||||
  width: 10px;
 | 
			
		||||
  height: 10px;
 | 
			
		||||
  background-color: var(--color-secondary-dark-3);
 | 
			
		||||
  z-index: 9;
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  display: block;
 | 
			
		||||
  left: -6px;
 | 
			
		||||
  top: 40px;
 | 
			
		||||
  border-radius: 100%;
 | 
			
		||||
  border: 2.5px solid var(--color-body);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #tags-table .tag {
 | 
			
		||||
  padding: 8px 12px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.release #tags-table .release-tag-name {
 | 
			
		||||
  font-size: 18px;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .target {
 | 
			
		||||
  min-width: 500px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .target #tag-name {
 | 
			
		||||
  margin-top: -4px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .target .at {
 | 
			
		||||
  margin-left: -5px;
 | 
			
		||||
  margin-right: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .target .selection.dropdown {
 | 
			
		||||
  padding-top: 10px;
 | 
			
		||||
  padding-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .prerelease.field {
 | 
			
		||||
  margin-bottom: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (max-width: 438px) {
 | 
			
		||||
  .repository.new.release .field button,
 | 
			
		||||
  .repository.new.release .field input {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (max-width: 767px) {
 | 
			
		||||
  .repository.new.release .field button {
 | 
			
		||||
    margin-bottom: 1em;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .field .wrap_remove {
 | 
			
		||||
  height: 38px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.new.release .field .attachment_edit {
 | 
			
		||||
  width: 450px !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.packages .empty {
 | 
			
		||||
  padding-top: 70px;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user