@@ -0,0 +1,81 @@ | |||
{{template "base/head" .}} | |||
<div class="ui repository branches"> | |||
{{template "repo/header" .}} | |||
<div class="ui container"> | |||
{{template "base/alert" .}} | |||
{{template "repo/sub_menu" .}} | |||
<h4 class="ui top attached header"> | |||
{{.i18n.Tr "repo.default_branch"}} | |||
</h4> | |||
<div class="ui attached table segment"> | |||
<table class="ui very basic striped fixed table single line"> | |||
<tbody> | |||
<tr> | |||
<td>{{.DefaultBranch}}</td> | |||
</tr> | |||
</tbody> | |||
</table> | |||
</div> | |||
{{if gt (len .Branches) 1}} | |||
<h4 class="ui top attached header"> | |||
{{.i18n.Tr "repo.branches"}} | |||
</h4> | |||
<div class="ui attached table segment"> | |||
<table class="ui very basic striped fixed table single line"> | |||
<thead> | |||
<tr> | |||
<th class="nine wide">{{.i18n.Tr "repo.branch.name"}}</th> | |||
{{if and $.IsWriter (not $.IsMirror)}} | |||
<th class="one wide right aligned">{{.i18n.Tr "repo.branch.delete_head"}}</th> | |||
{{end}} | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{{range $branch := .Branches}} | |||
{{if ne .Name $.DefaultBranch}} | |||
<tr> | |||
<td> | |||
{{if .IsDeleted}} | |||
<s><a href="{{$.RepoLink}}/src/branch/{{.Name}}">{{.Name}}</a></s> | |||
<p class="time">{{$.i18n.Tr "repo.branch.deleted_by" .DeletedBranch.DeletedBy.Name}} {{TimeSinceUnix .DeletedBranch.DeletedUnix $.i18n.Lang}}</p> | |||
{{else}} | |||
<a href="{{$.RepoLink}}/src/branch/{{.Name}}">{{.Name}}</a> | |||
<p class="time">{{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Commit.Committer.When $.i18n.Lang}}</p> | |||
</td> | |||
{{end}} | |||
{{if and $.IsWriter (not $.IsMirror)}} | |||
<td class="right aligned"> | |||
{{if .IsProtected}} | |||
<i class="octicon octicon-shield"></i> | |||
{{else if .IsDeleted}} | |||
<a class="undo-button" href data-url="{{$.Link}}/restore?branch_id={{.DeletedBranch.ID | urlquery}}&name={{.DeletedBranch.Name | urlquery}}"><i class="octicon octicon-reply"></i></a> | |||
{{else}} | |||
<a class="delete-branch-button" href data-url="{{$.Link}}/delete?name={{.Name | urlquery}}" data-val="{{.Name}}"><i class="trash icon text red"></i></a> | |||
{{end}} | |||
</td> | |||
{{end}} | |||
</tr> | |||
{{end}} | |||
{{end}} | |||
</tbody> | |||
</table> | |||
</div> | |||
{{end}} | |||
</div> | |||
</div> | |||
<div class="ui small basic delete modal"> | |||
<div class="ui icon header"> | |||
<i class="trash icon"></i> | |||
{{.i18n.Tr "repo.branch.delete_html"| Safe}} <span class="branch-name"></span> | |||
</div> | |||
<div class="content"> | |||
<p>{{.i18n.Tr "repo.branch.delete_desc" | Safe}}</p> | |||
{{.i18n.Tr "repo.branch.delete_notices_1" | Safe}}<br> | |||
{{.i18n.Tr "repo.branch.delete_notices_html" | Safe}} <span class="branch-name"></span><br> | |||
</div> | |||
{{template "base/delete_modal_actions" .}} | |||
</div> | |||
{{template "base/footer" .}} |
@@ -0,0 +1,65 @@ | |||
<div class="fitted item choose reference"> | |||
<div class="ui floating filter dropdown custom" data-can-create-branch="{{.CanCreateBranch}}" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}"> | |||
<div class="ui basic small compact button" @click="menuVisible = !menuVisible" @keyup.enter="menuVisible = !menuVisible"> | |||
<span class="text"> | |||
<i class="octicon octicon-git-branch"></i> | |||
{{if .IsViewBranch}}{{.i18n.Tr "repo.branch"}}{{else}}{{.i18n.Tr "repo.tree"}}{{end}}: | |||
<strong>{{if .IsViewBranch}}{{.BranchName}}{{else}}{{ShortSha .BranchName}}{{end}}</strong> | |||
</span> | |||
<i class="dropdown icon"></i> | |||
</div> | |||
<div class="data" style="display: none" data-mode="{{if .IsViewTag}}tags{{else}}branches{{end}}"> | |||
{{range .Branches}} | |||
<div class="item branch {{if eq $.BranchName .}}selected{{end}}" data-url="{{$.RepoLink}}/{{if $.PageIsCommits}}commits{{else}}src{{end}}/branch/{{EscapePound .}}{{if $.TreePath}}/{{EscapePound $.TreePath}}{{end}}">{{.}}</div> | |||
{{end}} | |||
{{range .Tags}} | |||
<div class="item tag {{if eq $.BranchName .}}selected{{end}}" data-url="{{$.RepoLink}}/{{if $.PageIsCommits}}commits{{else}}src{{end}}/tag/{{EscapePound .}}{{if $.TreePath}}/{{EscapePound $.TreePath}}{{end}}">{{.}}</div> | |||
{{end}} | |||
</div> | |||
<div class="menu transition" :class="{visible: menuVisible}" v-if="menuVisible" v-cloak> | |||
<div class="ui icon search input"> | |||
<i class="filter icon"></i> | |||
<input name="search" ref="searchField" v-model="searchTerm" @keydown="keydown($event)" placeholder="{{.i18n.Tr "repo.filter_branch_and_tag"}}..."> | |||
</div> | |||
<div class="header branch-tag-choice"> | |||
<div class="ui grid"> | |||
<div class="two column row"> | |||
<a class="reference column" href="#" @click="mode = 'branches'; focusSearchField()"> | |||
<span class="text" :class="{black: mode == 'branches'}"> | |||
<i class="octicon octicon-git-branch"></i> {{.i18n.Tr "repo.branches"}} | |||
</span> | |||
</a> | |||
<a class="reference column" href="#" @click="mode = 'tags'; focusSearchField()"> | |||
<span class="text" :class="{black: mode == 'tags'}"> | |||
<i class="reference tags icon"></i> {{.i18n.Tr "repo.tags"}} | |||
</span> | |||
</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="scrolling menu" ref="scrollContainer"> | |||
<div v-for="(item, index) in filteredItems" :key="item.name" class="item" :class="{selected: item.selected, active: active == index}" @click="selectItem(item)" :ref="'listItem' + index">${ item.name }</div> | |||
<div class="item" v-if="showCreateNewBranch" :class="{active: active == filteredItems.length}" :ref="'listItem' + filteredItems.length"> | |||
<a href="#" @click="createNewBranch()"> | |||
<div> | |||
<i class="octicon octicon-git-branch"></i> | |||
{{.i18n.Tr "repo.branch.create_branch" `${ searchTerm }` | Safe}} | |||
</div> | |||
<div class="text small"> | |||
{{if .IsViewBranch}} | |||
{{.i18n.Tr "repo.branch.create_from" .BranchName}} | |||
{{else}} | |||
{{.i18n.Tr "repo.branch.create_from" (ShortSha .BranchName)}} | |||
{{end}} | |||
</div> | |||
</a> | |||
<form ref="newBranchForm" action="{{.RepoLink}}/branches/_new/{{EscapePound .BranchNameSubURL}}" method="post"> | |||
{{.CsrfTokenHtml}} | |||
<input type="hidden" name="new_branch_name" v-model="searchTerm"> | |||
</form> | |||
</div> | |||
</div> | |||
<div class="message" v-if="showNoResults">${ noResults }</div> | |||
</div> | |||
</div> | |||
</div> |
@@ -0,0 +1,20 @@ | |||
{{template "base/head" .}} | |||
<div class="repository commits"> | |||
{{template "repo/header" .}} | |||
<div class="ui container"> | |||
{{template "repo/sub_menu" .}} | |||
<div class="ui secondary stackable menu mobile--margin-between-items"> | |||
{{template "repo/branch_dropdown" .}} | |||
<div class="fitted item"> | |||
<a href="{{.RepoLink}}/graph" class="ui basic small compact button"> | |||
<span class="text"> | |||
<i class="octicon octicon-git-branch"></i> | |||
</span> | |||
{{.i18n.Tr "repo.commit_graph"}} | |||
</a> | |||
</div> | |||
</div> | |||
{{template "repo/commits_table" .}} | |||
</div> | |||
</div> | |||
{{template "base/footer" .}} |
@@ -0,0 +1,99 @@ | |||
{{template "base/head" .}} | |||
<div class="repository file list"> | |||
{{template "repo/header" .}} | |||
<div class="ui container"> | |||
{{template "base/alert" .}} | |||
<div class="ui repo-description"> | |||
<div id="repo-desc"> | |||
{{if .Repository.DescriptionHTML}}<span class="description has-emoji">{{.Repository.DescriptionHTML}}</span>{{else if .IsRepositoryAdmin}}<span class="no-description text-italic">{{.i18n.Tr "repo.no_desc"}}</span>{{end}} | |||
<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a> | |||
</div> | |||
{{if .RepoSearchEnabled}} | |||
<div class="ui repo-search"> | |||
<form class="ui form" action="{{.RepoLink}}/search" method="get"> | |||
<div class="field"> | |||
<div class="ui action input"> | |||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "repo.search.search_repo"}}"> | |||
<button class="ui icon button" type="submit"> | |||
<i class="search icon"></i> | |||
</button> | |||
</div> | |||
</div> | |||
</form> | |||
</div> | |||
{{end}} | |||
</div> | |||
{{template "repo/sub_menu" .}} | |||
<div class="ui stackable secondary menu mobile--margin-between-items mobile--no-negative-margins"> | |||
{{if and .PullRequestCtx.Allowed .IsViewBranch}} | |||
<div class="fitted item"> | |||
<a href="{{.BaseRepo.Link}}/compare/{{.BaseRepo.DefaultBranch}}...{{.Repository.Owner.Name}}:{{.BranchName}}"> | |||
<button class="ui green tiny compact button"><i class="octicon octicon-git-compare"></i></button> | |||
</a> | |||
</div> | |||
{{end}} | |||
{{template "repo/branch_dropdown" .}} | |||
{{ $n := len .TreeNames}} | |||
{{ $l := Subtract $n 1}} | |||
<div class="fitted item"><span class="ui breadcrumb repo-path"><a class="section" href="{{.RepoLink}}/src/{{EscapePound .BranchNameSubURL}}">{{EllipsisString .Repository.Name 30}}</a>{{range $i, $v := .TreeNames}}<span class="divider">/</span>{{if eq $i $l}}<span class="active section">{{EllipsisString $v 30}}</span>{{else}}{{ $p := index $.Paths $i}}<span class="section"><a href="{{EscapePound $.BranchLink}}/{{EscapePound $p}}">{{EllipsisString $v 30}}</a></span>{{end}}{{end}}</span></div> | |||
<div class="right fitted item" id="file-buttons"> | |||
{{if .Repository.CanEnableEditor}} | |||
<div class="ui tiny blue buttons"> | |||
{{if .CanAddFile}} | |||
<a href="{{.RepoLink}}/_new/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}" class="ui button"> | |||
{{.i18n.Tr "repo.editor.new_file"}} | |||
</a> | |||
{{end}} | |||
{{if .CanUploadFile}} | |||
<a href="{{.RepoLink}}/_upload/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}" class="ui button"> | |||
{{.i18n.Tr "repo.editor.upload_file"}} | |||
</a> | |||
{{end}} | |||
</div> | |||
{{end}} | |||
</div> | |||
<div class="fitted item"> | |||
<!-- Only show clone panel in repository home page --> | |||
{{if eq $n 0}} | |||
<div class="ui action tiny input" id="clone-panel"> | |||
{{if not $.DisableHTTP}} | |||
<button class="ui basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}"> | |||
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}} | |||
</button> | |||
{{end}} | |||
{{if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}} | |||
<button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}"> | |||
SSH | |||
</button> | |||
{{end}} | |||
{{if not $.DisableHTTP}} | |||
<input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly> | |||
{{else if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}} | |||
<input id="repo-clone-url" value="{{$.CloneLink.SSH}}" readonly> | |||
{{end}} | |||
{{if or ((not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)))}} | |||
<button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url"> | |||
<i class="octicon octicon-clippy"></i> | |||
</button> | |||
{{end}} | |||
<div class="ui basic jump dropdown icon button poping up" data-content="{{.i18n.Tr "repo.download_archive"}}" data-variation="tiny inverted" data-position="top right"> | |||
<i class="download icon"></i> | |||
<div class="menu"> | |||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip"><i class="octicon octicon-file-zip"></i> ZIP</a> | |||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz"><i class="octicon octicon-file-zip"></i> TAR.GZ</a> | |||
</div> | |||
</div> | |||
</div> | |||
{{end}} | |||
</div> | |||
</div> | |||
{{if .IsViewFile}} | |||
{{template "repo/view_file" .}} | |||
{{else}} | |||
{{template "repo/view_list" .}} | |||
{{end}} | |||
</div> | |||
</div> | |||
{{template "base/footer" .}} |
@@ -0,0 +1,14 @@ | |||
<div class="ui segment sub-menu"> | |||
<div class="ui two horizontal center link list"> | |||
{{if and (.Repository.UnitEnabled $.UnitTypeCode) (not .IsBareRepo)}} | |||
<div class="item{{if .PageIsCommits}} active{{end}}"> | |||
<a href="{{.RepoLink}}/commits{{if .IsViewBranch}}/branch{{else if .IsViewTag}}/tag{{else if .IsViewCommit}}/commit{{end}}/{{EscapePound .BranchName}}"><i class="octicon octicon-history"></i> <b>{{.CommitsCount}}</b> {{.i18n.Tr (TrN .i18n.Lang .CommitsCount "repo.commit" "repo.commits") }}</a> | |||
</div> | |||
{{end}} | |||
{{if and (.Repository.UnitEnabled $.UnitTypeCode) (not .IsBareRepo) }} | |||
<div class="item{{if .PageIsBranches}} active{{end}}"> | |||
<a href="{{.RepoLink}}/branches/"><i class="octicon octicon-git-branch"></i> <b>{{.BranchesCount}}</b> {{.i18n.Tr (TrN .i18n.Lang .BranchesCount "repo.branch" "repo.branches") }}</a> | |||
</div> | |||
{{end}} | |||
</div> | |||
</div> |