mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-24 10:46:10 +01:00
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
73 lines
2.8 KiB
Handlebars
73 lines
2.8 KiB
Handlebars
{{range .comments}}
|
|
|
|
{{ $createdStr:= TimeSinceUnix .CreatedUnix $.root.Lang }}
|
|
<div class="comment" id="{{.HashTag}}">
|
|
{{if .OriginalAuthor }}
|
|
<span class="avatar"><img src="/img/avatar_default.png"></span>
|
|
{{else}}
|
|
<a class="avatar" {{if gt .Poster.ID 0}}href="{{.Poster.HomeLink}}"{{end}}>
|
|
{{avatar .Poster}}
|
|
</a>
|
|
{{end}}
|
|
<div class="content comment-container">
|
|
<div class="ui top attached header comment-header df ac sb">
|
|
<div class="comment-header-left df ac">
|
|
{{if .OriginalAuthor }}
|
|
<span class="text black mr-2">
|
|
<i class="fa {{MigrationIcon $.root.Repository.GetOriginalURLHostname}}" aria-hidden="true"></i>
|
|
{{ .OriginalAuthor }}
|
|
</span>
|
|
<span class="text grey">
|
|
{{$.root.i18n.Tr "repo.issues.commented_at" .HashTag $createdStr | Safe}}
|
|
</span>
|
|
<span class="text migrate">
|
|
{{if $.root.Repository.OriginalURL}}
|
|
({{$.root.i18n.Tr "repo.migrated_from" $.root.Repository.OriginalURL $.root.Repository.GetOriginalURLHostname | Safe }})
|
|
{{end}}
|
|
</span>
|
|
{{else}}
|
|
<span class="text grey">
|
|
<a {{if gt .Poster.ID 0}}href="{{.Poster.HomeLink}}"{{end}}>
|
|
{{.Poster.GetDisplayName}}
|
|
</a>
|
|
{{$.root.i18n.Tr "repo.issues.commented_at" .HashTag $createdStr | Safe}}
|
|
</span>
|
|
{{end}}
|
|
</div>
|
|
<div class="comment-header-right actions df ac">
|
|
{{if and .Review}}
|
|
{{if eq .Review.Type 0}}
|
|
<div class="ui label basic small yellow">
|
|
{{$.root.i18n.Tr "repo.issues.review.pending"}}
|
|
</div>
|
|
{{else}}
|
|
<div class="ui label basic small">
|
|
{{$.root.i18n.Tr "repo.issues.review.review"}}
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
{{template "repo/issue/view_content/add_reaction" Dict "ctx" $.root "ActionURL" (Printf "%s/comments/%d/reactions" $.root.RepoLink .ID) }}
|
|
{{template "repo/issue/view_content/context_menu" Dict "ctx" $.root "item" . "delete" true "diff" true "IsCommentPoster" (and $.root.IsSigned (eq $.root.SignedUserID .PosterID))}}
|
|
</div>
|
|
</div>
|
|
<div class="ui attached segment comment-body">
|
|
<div class="render-content markdown">
|
|
{{if .RenderedContent}}
|
|
{{.RenderedContent|Str2html}}
|
|
{{else}}
|
|
<span class="no-content">{{$.root.i18n.Tr "repo.issues.no_content"}}</span>
|
|
{{end}}
|
|
</div>
|
|
<div id="comment-{{.ID}}" class="raw-content hide">{{.Content}}</div>
|
|
<div class="edit-content-zone hide" data-write="issuecomment-{{.ID}}-write" data-preview="issuecomment-{{.ID}}-preview" data-update-url="{{$.root.RepoLink}}/comments/{{.ID}}" data-context="{{$.root.RepoLink}}"></div>
|
|
</div>
|
|
{{$reactions := .Reactions.GroupByType}}
|
|
{{if $reactions}}
|
|
<div class="ui attached segment reactions">
|
|
{{template "repo/issue/view_content/reactions" Dict "ctx" $.root "ActionURL" (Printf "%s/comments/%d/reactions" $.root.RepoLink .ID) "Reactions" $reactions}}
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|