<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 and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}} <div class="ui labeled button {{if or (not $.IsSigned) (and (not $.CanSignedUserFork) (not $.UserAndOrgForks))}} disabled {{end}}" {{if not $.IsSigned}} data-tooltip-content="{{ctx.Locale.Tr "repo.fork_guest_user"}}" {{else if and (not $.CanSignedUserFork) (not $.UserAndOrgForks)}} data-tooltip-content="{{ctx.Locale.Tr "repo.fork_from_self"}}" {{end}} > <a class="ui compact{{if $.ShowForkModal}} show-modal{{end}} small basic button" {{if not $.CanSignedUserFork}} {{if gt (len $.UserAndOrgForks) 1}} data-modal="#fork-repo-modal" {{else if eq (len $.UserAndOrgForks) 1}} href="{{AppSubUrl}}/{{(index $.UserAndOrgForks 0).FullName}}" {{/*else is not required here, because the button shouldn't link to any site if you can't create a fork*/}} {{end}} {{else if not $.UserAndOrgForks}} href="{{$.RepoLink}}/fork" {{else}} data-modal="#fork-repo-modal" {{end}} > {{svg "octicon-repo-forked"}}<span class="text">{{ctx.Locale.Tr "repo.fork"}}</span> </a> <div class="ui small modal" id="fork-repo-modal"> <div class="header"> {{ctx.Locale.Tr "repo.already_forked" .Name}} </div> <div class="content tw-text-left"> <div class="ui list"> {{range $.UserAndOrgForks}} <div class="ui item gt-py-3"> <a href="{{.Link}}">{{svg "octicon-repo-forked" 16 "gt-mr-3"}}{{.FullName}}</a> </div> {{end}} </div> {{if $.CanSignedUserFork}} <div class="divider"></div> <a href="{{$.RepoLink}}/fork">{{ctx.Locale.Tr "repo.fork_to_different_account"}}</a> {{end}} </div> </div> <a class="ui basic label" href="{{.Link}}/forks"> {{CountFmt .NumForks}} </a> </div> {{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}} <div class="ui container secondary pointing tabular top attached borderless menu new-menu navbar"> {{if not (or .Repository.IsBeingCreated .Repository.IsBroken)}} <div class="new-menu-inner"> {{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}} {{$projectsUnit := .Repository.MustGetUnit $.Context $.UnitTypeProjects}} {{if and (not .UnitProjectsGlobalDisabled) (.Permission.CanRead $.UnitTypeProjects) ($projectsUnit.ProjectsConfig.IsProjectsAllowed "repo")}} <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 .Permission.IsAdmin}} <a class="{{if .PageIsRepoSettings}}active {{end}} item" href="{{.RepoLink}}/settings"> {{svg "octicon-tools"}} {{ctx.Locale.Tr "repo.settings"}} </a> {{end}} </div> {{else if .Permission.IsAdmin}} <div class="new-menu-inner"> <a class="{{if .PageIsRepoSettings}}active {{end}} item" href="{{.RepoLink}}/settings"> {{svg "octicon-tools"}} {{ctx.Locale.Tr "repo.settings"}} </a> </div> {{end}} </div> <div class="ui tabs divider"></div> </div>