aboutsummaryrefslogtreecommitdiff
path: root/templates/repo/header.tmpl
blob: e6e235098d1faa9ec308aa2acbac5eed3af9dfee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<div class="header-wrapper">
{{with .Repository}}
	<div class="ui container">
		<div class="repo-header">
			<div class="ui huge breadcrumb repo-title">
				{{if .RelAvatarLink}}
				<img class="ui avatar image" src="{{.RelAvatarLink}}">
				{{else}}
				<i class="mega-octicon octicon-{{if .IsPrivate}}lock{{else if .IsMirror}}repo-clone{{else if .IsFork}}repo-forked{{else}}repo{{end}}"></i>
				{{end}}
				<a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a>
				<div class="divider"> / </div>
				<a href="{{$.RepoLink}}">{{.Name}}</a>
				{{if and .RelAvatarLink .IsPrivate}}<i class="mega-octicon octicon-lock"></i>{{end}}
				{{if .IsTemplate}}<i class="icon fa-copy"></i>{{end}}
				{{if .IsArchived}}<i class="archive icon archived-icon"></i>{{end}}
				{{if .IsMirror}}<div class="fork-flag">{{$.i18n.Tr "repo.mirror_from"}} <a target="_blank" rel="noopener noreferrer" href="{{if .SanitizedOriginalURL}}{{.SanitizedOriginalURL}}{{else}}{{MirrorAddress $.Mirror}}{{end}}">{{if .SanitizedOriginalURL}}{{.SanitizedOriginalURL}}{{else}}{{MirrorAddress $.Mirror}}{{end}}</a></div>{{end}}
				{{if .IsFork}}<div class="fork-flag">{{$.i18n.Tr "repo.forked_from"}} <a href="{{.BaseRepo.Link}}">{{SubStr .BaseRepo.RelLink 1 -1}}</a></div>{{end}}
				{{if .IsGenerated}}<div class="fork-flag">{{$.i18n.Tr "repo.generated_from"}} <a href="{{.TemplateRepo.Link}}">{{SubStr .TemplateRepo.RelLink 1 -1}}</a></div>{{end}}
				<small>{{SizeFmt .Size}}</small>
			</div>
			{{if not .IsBeingCreated}}
				<div class="repo-buttons">
					<div class="ui labeled button" tabindex="0">
						<a class="ui compact basic button" href="{{$.RepoLink}}/action/{{if $.IsWatchingRepo}}un{{end}}watch?redirect_to={{$.Link}}">
							<i class="icon fa-eye{{if not $.IsWatchingRepo}}-slash{{end}}"></i>{{if $.IsWatchingRepo}}{{$.i18n.Tr "repo.unwatch"}}{{else}}{{$.i18n.Tr "repo.watch"}}{{end}}
						</a>
						<a class="ui basic label" href="{{.Link}}/watchers">
							{{.NumWatches}}
						</a>
					</div>
					<div class="ui labeled button" tabindex="0">
						<a class="ui compact basic button" href="{{$.RepoLink}}/action/{{if $.IsStaringRepo}}un{{end}}star?redirect_to={{$.Link}}">
							<i class="icon star{{if not $.IsStaringRepo}} outline{{end}}"></i>{{if $.IsStaringRepo}}{{$.i18n.Tr "repo.unstar"}}{{else}}{{$.i18n.Tr "repo.star"}}{{end}}
						</a>
						<a class="ui basic label" href="{{.Link}}/stars">
							{{.NumStars}}
						</a>
					</div>
					{{if and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}}
						<div class="ui labeled button {{if and ($.IsSigned) (not $.CanSignedUserFork)}}disabled-repo-button{{end}}" tabindex="0">
							<a class="ui compact basic button {{if or (not $.IsSigned) (not $.CanSignedUserFork)}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" {{ else }} data-content="{{$.i18n.Tr "repo.fork_guest_user" }}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{AppSubUrl}}/repo/fork/{{.ID}}" {{end}} data-position="top center" data-variation="tiny">
								<i class="octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}}
							</a>
							<a class="ui basic label" href="{{.Link}}/forks">
								{{.NumForks}}
							</a>
						</div>
					{{end}}
				</div>
			{{end}}
		</div><!-- end grid -->

		<div class="ui repo-description repo-description-custom">
			<div id="repo-desc">
				{{if .DescriptionHTML}}<span class="description has-emoji">{{.DescriptionHTML}}</span>{{else if $.IsRepositoryAdmin}}<span class="no-description text-italic">{{$.i18n.Tr "repo.no_desc"}}</span>{{end}}
				<a class="link" href="{{.Website}}">{{.Website}}</a>
			</div>
		</div>

		<div class="ui repo-topics-custom" id="repo-topics">
		{{range $.Topics}}<a class="ui repo-topic small label topic" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}}
		{{if and $.Permission.IsAdmin (not .IsArchived)}}<a id="manage_topic">{{$.i18n.Tr "repo.topic.manage_topics"}}</a>{{end}}
		</div>

		{{if and $.Permission.IsAdmin (not .IsArchived)}}
		<div class="ui repo-topic-edit grid form segment error" id="topic_edit" style="display:none">
			<div class="fourteen wide column">
				<div class="field">
					<div class="ui fluid multiple search selection dropdown">
						<input type="hidden" name="topics" value="{{range $i, $v := $.Topics}}{{.Name}}{{if lt (Add $i 1) (len $.Topics)}},{{end}}{{end}}">
						{{range $.Topics}}
						<div class="ui small label topic transition visible" data-value="{{.Name}}" style="display: inline-block !important; cursor: default;">{{.Name}}<i class="delete icon"></i></div>
						{{end}}
						<div class="text"></div>
					</div>
				</div>
			</div>
			<div class="two wide column">
				<a class="ui button primary" href="javascript:;" id="save_topic"
				data-link="{{$.RepoLink}}/topics">{{$.i18n.Tr "repo.topic.done"}}</a>
			</div>
		</div>
		{{end}}

	</div><!-- end container -->
{{end}}
	<div class="ui tabs container">
		{{if not .Repository.IsBeingCreated}}
			<div class="ui tabular stackable menu navbar">
				{{if .Permission.CanRead $.UnitTypeCode}}
				<a class="{{if (and .PageIsViewCode (not (or .PageIsCommits .PageIsBranches)))}}active{{end}} item" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">
					<i class="octicon octicon-code"></i> {{.i18n.Tr "repo.code"}}
				</a>

				<a class="{{if .PageIsCommits}}active{{end}} item"
        href="{{.RepoLink}}/commits{{if .IsViewBranch}}/branch{{else if .IsViewTag}}/tag{{else if .IsViewCommit}}/commit{{end}}/{{EscapePound .BranchName}}">
					<i class="octicon octicon-clock"></i>
					{{.i18n.Tr "repo.commits"}}
          <span class="ui small label">{{or .CommitsCount "0"}}</span>
				</a>

				<a class="{{if .PageIsBranches}}active{{end}} item"
        href="{{.RepoLink}}/branches/">
					<i class="octicon octicon-git-branch"></i>
					{{.i18n.Tr "repo.branches"}}
          <span class="ui small label">{{or .BranchesCount "0"}}</span>
				</a>

				{{end}}

				{{if .Permission.CanRead $.UnitTypeIssues}}
					<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues">
						<i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} <span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}</span>
					</a>
				{{end}}

				{{if .Permission.CanRead $.UnitTypeExternalTracker}}
					<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer">
						<i class="octicon octicon-link-external"></i> {{.i18n.Tr "repo.issues"}} </span>
					</a>
				{{end}}

				{{if and .Repository.CanEnablePulls (.Permission.CanRead $.UnitTypePullRequests)}}
					<a class="{{if .PageIsPullList}}active{{end}} item" href="{{.RepoLink}}/pulls">
						<i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "repo.pulls"}} <span class="ui {{if not .Repository.NumOpenPulls}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenPulls}}</span>
					</a>
				{{end}}

				{{if and (.Permission.CanRead $.UnitTypeReleases) (not .IsEmptyRepo) }}
				<a class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases">
					<i class="octicon octicon-tag"></i> {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .Repository.NumReleases}}gray{{else}}blue{{end}} small label">{{.Repository.NumReleases}}</span>
				</a>
				{{end}}

				{{if or (.Permission.CanRead $.UnitTypeWiki) (.Permission.CanRead $.UnitTypeExternalWiki)}}
					<a class="{{if .PageIsWiki}}active{{end}} item" href="{{.RepoLink}}/wiki" {{if (.Permission.CanRead $.UnitTypeExternalWiki)}} target="_blank" rel="noopener noreferrer" {{end}}>
						<i class="octicon octicon-book"></i> {{.i18n.Tr "repo.wiki"}}
					</a>
				{{end}}

				{{if and (.Permission.CanReadAny $.UnitTypePullRequests $.UnitTypeIssues $.UnitTypeReleases) (not .IsEmptyRepo)}}
					<a class="{{if .PageIsActivity}}active{{end}} item" href="{{.RepoLink}}/activity">
						<i class="octicon octicon-pulse"></i> {{.i18n.Tr "repo.activity"}}
					</a>
				{{end}}

				{{template "custom/extra_tabs" .}}

				{{if .Permission.IsAdmin}}
					<div class="right menu">
						<a class="{{if .PageIsSettings}}active{{end}} item" href="{{.RepoLink}}/settings">
							<i class="octicon octicon-tools"></i> {{.i18n.Tr "repo.settings"}}
						</a>
					</div>
				{{end}}
			</div>
		{{end}}
	</div>
	<div class="ui tabs divider"></div>
</div>