mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-30 05:46:09 +01:00
36147f580c
Repositories displaying an "Add more..." tab on the header is a neat way to let people discover they can enable more units. However, displaying it all the time for repository owners, even when they deliberately do not want to enable more units gets noisy very fast. As such, this patch introduces a new setting which lets people disable this hint under the appearance settings. Fixes #2378. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
195 lines
9 KiB
Go HTML Template
195 lines
9 KiB
Go HTML Template
<div class="header-wrapper">
|
|
{{with .Repository}}
|
|
<div class="ui container">
|
|
<div class="repo-header">
|
|
<div class="flex-item gt-ac">
|
|
<div class="flex-item-leading">{{template "repo/icon" .}}</div>
|
|
<div class="flex-item-main">
|
|
<div class="flex-item-title gt-font-18">
|
|
<a class="muted gt-font-normal" href="{{.Owner.HomeLink}}">{{.Owner.Name}}</a>/
|
|
<a class="muted" href="{{$.RepoLink}}">{{.Name}}</a></div>
|
|
</div>
|
|
<div class="flex-item-trailing">
|
|
{{if .IsArchived}}
|
|
<span class="ui basic label">{{ctx.Locale.Tr "repo.desc.archived"}}</span>
|
|
<div class="repo-icon" data-tooltip-content="{{ctx.Locale.Tr "repo.desc.archived"}}">{{svg "octicon-archive" 18}}</div>
|
|
{{end}}
|
|
{{if .IsPrivate}}
|
|
<span class="ui basic label">{{ctx.Locale.Tr "repo.desc.private"}}</span>
|
|
<div class="repo-icon" data-tooltip-content="{{ctx.Locale.Tr "repo.desc.private"}}">{{svg "octicon-lock" 18}}</div>
|
|
{{else}}
|
|
{{if .Owner.Visibility.IsPrivate}}
|
|
<span class="ui basic label">{{ctx.Locale.Tr "repo.desc.internal"}}</span>
|
|
<div class="repo-icon" data-tooltip-content="{{ctx.Locale.Tr "repo.desc.internal"}}">{{svg "octicon-shield-lock" 18}}</div>
|
|
{{end}}
|
|
{{end}}
|
|
{{if .IsTemplate}}
|
|
<span class="ui basic label">{{ctx.Locale.Tr "repo.desc.template"}}</span>
|
|
<div class="repo-icon" data-tooltip-content="{{ctx.Locale.Tr "repo.desc.template"}}">{{svg "octicon-repo-template" 18}}</div>
|
|
{{end}}
|
|
{{if eq .ObjectFormatName "sha256"}}
|
|
<span class="ui basic label">{{ctx.Locale.Tr "repo.desc.sha256"}}</span>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{if not (or .IsBeingCreated .IsBroken)}}
|
|
<div class="repo-buttons">
|
|
{{if $.RepoTransfer}}
|
|
<form method="post" action="{{$.RepoLink}}/action/accept_transfer?redirect_to={{$.RepoLink}}">
|
|
{{$.CsrfTokenHtml}}
|
|
<div data-tooltip-content="{{if $.CanUserAcceptTransfer}}{{ctx.Locale.Tr "repo.transfer.accept_desc" $.RepoTransfer.Recipient.DisplayName}}{{else}}{{ctx.Locale.Tr "repo.transfer.no_permission_to_accept"}}{{end}}">
|
|
<button type="submit" class="ui basic button {{if $.CanUserAcceptTransfer}}primary {{end}} ok small"{{if not $.CanUserAcceptTransfer}} disabled{{end}}>
|
|
{{ctx.Locale.Tr "repo.transfer.accept"}}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
<form method="post" action="{{$.RepoLink}}/action/reject_transfer?redirect_to={{$.RepoLink}}">
|
|
{{$.CsrfTokenHtml}}
|
|
<div data-tooltip-content="{{if $.CanUserAcceptTransfer}}{{ctx.Locale.Tr "repo.transfer.reject_desc" $.RepoTransfer.Recipient.DisplayName}}{{else}}{{ctx.Locale.Tr "repo.transfer.no_permission_to_reject"}}{{end}}">
|
|
<button type="submit" class="ui basic button {{if $.CanUserAcceptTransfer}}red {{end}}ok small"{{if not $.CanUserAcceptTransfer}} disabled{{end}}>
|
|
{{ctx.Locale.Tr "repo.transfer.reject"}}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
{{end}}
|
|
{{if $.EnableFeed}}
|
|
{{/* An extra div-element is not necessary here, as this button does not secretly contain two buttons. */}}
|
|
<a class="ui compact small basic button" href="{{$.RepoLink}}.rss" data-tooltip-content="{{ctx.Locale.Tr "rss_feed"}}">
|
|
{{svg "octicon-rss" 16}}
|
|
</a>
|
|
{{end}}
|
|
{{template "repo/watch_unwatch" $}}
|
|
{{if not $.DisableStars}}
|
|
{{template "repo/star_unstar" $}}
|
|
{{end}}
|
|
{{if not $.DisableForks}}
|
|
{{template "repo/header_fork" $}}
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
{{if $.PullMirror}}
|
|
<div class="fork-flag">
|
|
{{ctx.Locale.Tr "repo.mirror_from"}}
|
|
<a target="_blank" rel="noopener noreferrer" href="{{$.PullMirror.RemoteAddress}}">{{$.PullMirror.RemoteAddress}}</a>
|
|
{{if $.PullMirror.UpdatedUnix}}{{ctx.Locale.Tr "repo.mirror_sync"}} {{TimeSinceUnix $.PullMirror.UpdatedUnix ctx.Locale}}{{end}}
|
|
</div>
|
|
{{end}}
|
|
{{if .IsFork}}<div class="fork-flag">{{ctx.Locale.Tr "repo.forked_from"}} <a href="{{.BaseRepo.Link}}">{{.BaseRepo.FullName}}</a></div>{{end}}
|
|
{{if .IsGenerated}}<div class="fork-flag">{{ctx.Locale.Tr "repo.generated_from"}} <a href="{{(.TemplateRepo ctx).Link}}">{{(.TemplateRepo ctx).FullName}}</a></div>{{end}}
|
|
</div>
|
|
{{end}}
|
|
<overflow-menu class="ui container secondary pointing tabular top attached borderless menu navbar tw-pt-0 tw-my-0">
|
|
{{if not (or .Repository.IsBeingCreated .Repository.IsBroken)}}
|
|
<div class="overflow-menu-items">
|
|
{{if .Permission.CanRead $.UnitTypeCode}}
|
|
<a class="{{if .PageIsViewCode}}active {{end}}item" href="{{.RepoLink}}{{if and (ne .BranchName .Repository.DefaultBranch) (not $.PageIsWiki)}}/src/{{.BranchNameSubURL}}{{end}}">
|
|
{{svg "octicon-code"}} {{ctx.Locale.Tr "repo.code"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if .Permission.CanRead $.UnitTypeIssues}}
|
|
<a class="{{if .PageIsIssueList}}active {{end}}item" href="{{.RepoLink}}/issues">
|
|
{{svg "octicon-issue-opened"}} {{ctx.Locale.Tr "repo.issues"}}
|
|
{{if .Repository.NumOpenIssues}}
|
|
<span class="ui small label">{{CountFmt .Repository.NumOpenIssues}}</span>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if .Permission.CanRead $.UnitTypeExternalTracker}}
|
|
<a class="{{if .PageIsIssueList}}active {{end}}item" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer">
|
|
{{svg "octicon-link-external"}} {{ctx.Locale.Tr "repo.issues"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if and .Repository.CanEnablePulls (.Permission.CanRead $.UnitTypePullRequests)}}
|
|
<a class="{{if .PageIsPullList}}active {{end}}item" href="{{.RepoLink}}/pulls">
|
|
{{svg "octicon-git-pull-request"}} {{ctx.Locale.Tr "repo.pulls"}}
|
|
{{if .Repository.NumOpenPulls}}
|
|
<span class="ui small label">{{CountFmt .Repository.NumOpenPulls}}</span>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if and .EnableActions (not .UnitActionsGlobalDisabled) (.Permission.CanRead $.UnitTypeActions)}}
|
|
<a class="{{if .PageIsActions}}active {{end}}item" href="{{.RepoLink}}/actions">
|
|
{{svg "octicon-play"}} {{ctx.Locale.Tr "actions.actions"}}
|
|
{{if .Repository.NumOpenActionRuns}}
|
|
<span class="ui small label">{{CountFmt .Repository.NumOpenActionRuns}}</span>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if .Permission.CanRead $.UnitTypePackages}}
|
|
<a href="{{.RepoLink}}/packages" class="{{if .IsPackagesPage}}active {{end}}item">
|
|
{{svg "octicon-package"}} {{ctx.Locale.Tr "packages.title"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if and (not .UnitProjectsGlobalDisabled) (.Permission.CanRead $.UnitTypeProjects)}}
|
|
<a href="{{.RepoLink}}/projects" class="{{if .IsProjectsPage}}active {{end}}item">
|
|
{{svg "octicon-project"}} {{ctx.Locale.Tr "repo.project_board"}}
|
|
{{if .Repository.NumOpenProjects}}
|
|
<span class="ui small label">{{CountFmt .Repository.NumOpenProjects}}</span>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if and (.Permission.CanRead $.UnitTypeReleases) (not .IsEmptyRepo)}}
|
|
<a class="{{if or .PageIsReleaseList .PageIsTagList}}active {{end}}item" href="{{.RepoLink}}/releases">
|
|
{{svg "octicon-tag"}} {{ctx.Locale.Tr "repo.releases"}}
|
|
{{if .NumReleases}}
|
|
<span class="ui small label">{{CountFmt .NumReleases}}</span>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if .Permission.CanRead $.UnitTypeWiki}}
|
|
<a class="{{if .PageIsWiki}}active {{end}}item" href="{{.RepoLink}}/wiki">
|
|
{{svg "octicon-book"}} {{ctx.Locale.Tr "repo.wiki"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if .Permission.CanRead $.UnitTypeExternalWiki}}
|
|
<a class="item" href="{{(.Repository.MustGetUnit $.Context $.UnitTypeExternalWiki).ExternalWikiConfig.ExternalWikiURL}}" target="_blank" rel="noopener noreferrer">
|
|
{{svg "octicon-link-external"}} {{ctx.Locale.Tr "repo.wiki"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if and (.Permission.CanReadAny $.UnitTypePullRequests $.UnitTypeIssues $.UnitTypeReleases) (not .IsEmptyRepo)}}
|
|
<a class="{{if .PageIsActivity}}active {{end}}item" href="{{.RepoLink}}/activity">
|
|
{{svg "octicon-pulse"}} {{ctx.Locale.Tr "repo.activity"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{template "custom/extra_tabs" .}}
|
|
|
|
{{if and RepoFlagsEnabled .SignedUser.IsAdmin}}
|
|
<a class="{{if .IsRepoFlagsPage}}active {{end}}item" href="{{.RepoLink}}/flags">
|
|
{{svg "octicon-milestone"}} {{ctx.Locale.Tr "repo.admin.manage_flags"}}
|
|
</a>
|
|
{{end}}
|
|
|
|
{{if .Permission.IsAdmin}}
|
|
{{if and .SignedUser.EnableRepoUnitHints (not (.Repository.AllUnitsEnabled ctx))}}
|
|
<a class="{{if .PageIsRepoSettingsUnits}}active {{end}}item" href="{{.RepoLink}}/settings/units">
|
|
{{svg "octicon-diff-added"}} {{ctx.Locale.Tr "repo.settings.units.add_more"}}
|
|
</a>
|
|
{{end}}
|
|
<a class="{{if and .PageIsRepoSettings (not .PageIsRepoSettingsUnits)}}active {{end}} item" href="{{.RepoLink}}/settings">
|
|
{{svg "octicon-tools"}} {{ctx.Locale.Tr "repo.settings"}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
{{else if .Permission.IsAdmin}}
|
|
<div class="overflow-menu-items">
|
|
<a class="{{if .PageIsRepoSettings}}active {{end}} item" href="{{.RepoLink}}/settings">
|
|
{{svg "octicon-tools"}} {{ctx.Locale.Tr "repo.settings"}}
|
|
</a>
|
|
</div>
|
|
{{end}}
|
|
</overflow-menu>
|
|
<div class="ui tabs divider"></div>
|
|
</div>
|