9269a038a4
* Direct avatar rendering This adds new template helpers for avatar rendering which output image elements with direct links to avatars which makes them cacheable by the browsers. This should be a major performance improvment for pages with many avatars. * fix avatars of other user's profile pages * fix top border on user avatar name * uncircle avatars * remove old incomplete avatar selector * use title attribute for name and add it back on blame * minor refactor * tweak comments * fix url path join and adjust test to new result * dedupe functions
85 lines
3.3 KiB
Handlebars
85 lines
3.3 KiB
Handlebars
<div class="ui attached table segment">
|
|
<table class="ui very basic striped fixed table single line" id="commits-table">
|
|
<thead>
|
|
<tr>
|
|
<th class="four wide">{{.i18n.Tr "repo.commits.author"}}</th>
|
|
<th class="two wide sha">SHA1</th>
|
|
<th class="seven wide message">{{.i18n.Tr "repo.commits.message"}}</th>
|
|
<th class="three wide right aligned">{{.i18n.Tr "repo.commits.date"}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="commit-list">
|
|
{{ $r:= List .Commits}}
|
|
{{range $r}}
|
|
<tr>
|
|
<td class="author">
|
|
{{$userName := .Author.Name}}
|
|
{{if .User}}
|
|
{{if .User.FullName}}
|
|
{{$userName = .User.FullName}}
|
|
{{end}}
|
|
{{avatar .User 28 "mr-2"}}<a href="{{AppSubUrl}}/{{.User.Name}}">{{$userName}}</a>
|
|
{{else}}
|
|
{{avatarByEmail .Author.Email .Author.Name 28 "mr-2"}}
|
|
{{$userName}}
|
|
{{end}}
|
|
</td>
|
|
<td class="sha">
|
|
{{$class := "ui sha label"}}
|
|
{{if .Signature}}
|
|
{{$class = (printf "%s%s" $class " isSigned")}}
|
|
{{if .Verification.Verified}}
|
|
{{if eq .Verification.TrustStatus "trusted"}}
|
|
{{$class = (printf "%s%s" $class " isVerified")}}
|
|
{{else if eq .Verification.TrustStatus "untrusted"}}
|
|
{{$class = (printf "%s%s" $class " isVerifiedUntrusted")}}
|
|
{{else}}
|
|
{{$class = (printf "%s%s" $class " isVerifiedUnmatched")}}
|
|
{{end}}
|
|
{{else if .Verification.Warning}}
|
|
{{$class = (printf "%s%s" $class " isWarning")}}
|
|
{{end}}
|
|
{{end}}
|
|
{{if $.PageIsWiki}}
|
|
<a href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/wiki/commit/{{.ID}}" rel="nofollow" class="{{$class}}">
|
|
{{else if $.Reponame}}
|
|
<a href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{.ID}}" rel="nofollow" class="{{$class}}">
|
|
{{else}}
|
|
<span class="{{$class}}">
|
|
{{end}}
|
|
<span class="shortsha">{{ShortSha .ID.String}}</span>
|
|
{{if .Signature}}
|
|
{{template "repo/shabox_badge" dict "root" $ "verification" .Verification}}
|
|
{{end}}
|
|
{{if $.Reponame}}
|
|
</a>
|
|
{{else}}
|
|
</span>
|
|
{{end}}
|
|
</td>
|
|
<td class="message">
|
|
<span class="message-wrapper">
|
|
{{if $.PageIsWiki}}
|
|
<span class="commit-summary {{if gt .ParentCount 1}} grey text{{end}}" title="{{.Summary}}">{{.Summary | RenderEmoji}}</span>
|
|
{{else }}
|
|
{{ $commitLink:= printf "%s/%s/%s/commit/%s" AppSubUrl $.Username $.Reponame .ID }}
|
|
<span class="commit-summary {{if gt .ParentCount 1}} grey text{{end}}" title="{{.Summary}}">{{RenderCommitMessageLinkSubject .Message $.RepoLink $commitLink $.Repository.ComposeMetas}}</span>
|
|
{{end}}
|
|
</span>
|
|
{{if IsMultilineCommitMessage .Message}}
|
|
<button class="basic compact mini ui icon button commit-button"><i class="ellipsis horizontal icon"></i></button>
|
|
{{end}}
|
|
{{if eq (CommitType .) "SignCommitWithStatuses"}}
|
|
{{template "repo/commit_status" .Status}}
|
|
{{end}}
|
|
{{if IsMultilineCommitMessage .Message}}
|
|
<pre class="commit-body" style="display: none;">{{RenderCommitBody .Message $.RepoLink $.Repository.ComposeMetas}}</pre>
|
|
{{end}}
|
|
</td>
|
|
<td class="text right aligned">{{TimeSince .Author.When $.Lang}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|