aboutsummaryrefslogtreecommitdiffstats
path: root/templates/repo/issue/view_content/conversation.tmpl
blob: c9e5ee62754cce1fb0e4a796be571fda8385d404 (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
{{$invalid := (index .comments 0).Invalidated}}
{{$resolved := (index .comments 0).IsResolved}}
{{$resolveDoer := (index .comments 0).ResolveDoer}}
{{$isNotPending := (not (eq (index .comments 0).Review.Type 0))}}
<div class="ui segments conversation-holder">
	<div class="ui segment collapsible-comment-box gt-py-3 gt-df gt-ac gt-sb">
		<div class="gt-df gt-ac">
			<a href="{{(index .comments 0).CodeCommentLink ctx}}" class="file-comment gt-ml-3 gt-word-break">{{(index .comments 0).TreePath}}</a>
			{{if $invalid}}
				<span class="ui label basic small gt-ml-3" data-tooltip-content="{{ctx.Locale.Tr "repo.issues.review.outdated_description"}}">
					{{ctx.Locale.Tr "repo.issues.review.outdated"}}
				</span>
			{{end}}
		</div>
		<div>
			{{if or $invalid $resolved}}
				<button id="show-outdated-{{(index .comments 0).ID}}" data-comment="{{(index .comments 0).ID}}" class="{{if not $resolved}}gt-hidden {{end}}ui compact labeled button show-outdated gt-df gt-ac">
					{{svg "octicon-unfold" 16 "gt-mr-3"}}
					{{if $resolved}}
						{{ctx.Locale.Tr "repo.issues.review.show_resolved"}}
					{{else}}
						{{ctx.Locale.Tr "repo.issues.review.show_outdated"}}
					{{end}}
				</button>
				<button id="hide-outdated-{{(index .comments 0).ID}}" data-comment="{{(index .comments 0).ID}}" class="{{if $resolved}}gt-hidden {{end}}ui compact labeled button hide-outdated gt-df gt-ac">
					{{svg "octicon-fold" 16 "gt-mr-3"}}
					{{if $resolved}}
						{{ctx.Locale.Tr "repo.issues.review.hide_resolved"}}
					{{else}}
						{{ctx.Locale.Tr "repo.issues.review.hide_outdated"}}
					{{end}}
				</button>
			{{end}}
		</div>
	</div>
	{{$diff := (CommentMustAsDiff ctx (index .comments 0))}}
	{{if $diff}}
		{{$file := (index $diff.Files 0)}}
		<div id="code-preview-{{(index .comments 0).ID}}" class="ui table segment{{if $resolved}} gt-hidden{{end}}">
			<div class="diff-file-box diff-box file-content {{TabSizeClass $.Editorconfig $file.Name}}">
				<div class="file-body file-code code-view code-diff code-diff-unified unicode-escaped">
					<table>
						<tbody>
							{{template "repo/diff/section_unified" dict "file" $file "root" $}}
						</tbody>
					</table>
				</div>
			</div>
		</div>
	{{end}}
	<div id="code-comments-{{(index .comments 0).ID}}" class="comment-code-cloud ui segment{{if $resolved}} gt-hidden{{end}}">
		<div class="ui comments gt-mb-0">
			{{range .comments}}
				{{$createdSubStr:= TimeSinceUnix .CreatedUnix ctx.Locale}}
				<div class="comment code-comment gt-pb-4" id="{{.HashTag}}">
					<div class="content">
						<div class="header comment-header">
							<div class="comment-header-left gt-df gt-ac">
								{{if not .OriginalAuthor}}
									<a class="avatar">
										{{ctx.AvatarUtils.Avatar .Poster 20}}
									</a>
								{{end}}
								<span class="text grey muted-links">
									{{if .OriginalAuthor}}
										<span class="text black gt-font-semibold">
											{{svg (MigrationIcon $.Repository.GetOriginalURLHostname)}}
											{{.OriginalAuthor}}
										</span>
										<span class="text grey muted-links"> {{if $.Repository.OriginalURL}}</span>
										<span class="text migrate">({{ctx.Locale.Tr "repo.migrated_from" ($.Repository.OriginalURL|Escape) ($.Repository.GetOriginalURLHostname|Escape) | Safe}}){{end}}</span>
									{{else}}
										{{template "shared/user/authorlink" .Poster}}
									{{end}}
									{{ctx.Locale.Tr "repo.issues.commented_at" (.HashTag|Escape) $createdSubStr | Safe}}
								</span>
							</div>
							<div class="comment-header-right actions gt-df gt-ac">
								{{template "repo/issue/view_content/show_role" dict "ShowRole" .ShowRole}}
								{{if not $.Repository.IsArchived}}
									{{template "repo/issue/view_content/add_reaction" dict "ctxData" $ "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID)}}
									{{template "repo/issue/view_content/context_menu" dict "ctxData" $ "item" . "delete" true "issue" true "diff" true "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}}
								{{end}}
							</div>
						</div>
						<div class="text comment-content">
							<div class="render-content markup" {{if or $.Permission.IsAdmin $.HasIssuesOrPullsWritePermission (and $.IsSigned (eq $.SignedUserID .PosterID))}}data-can-edit="true"{{end}}>
							{{if .RenderedContent}}
								{{.RenderedContent|Str2html}}
							{{else}}
								<span class="no-content">{{ctx.Locale.Tr "repo.issues.no_content"}}</span>
							{{end}}
							</div>
							<div id="issuecomment-{{.ID}}-raw" class="raw-content gt-hidden">{{.Content}}</div>
							<div class="edit-content-zone gt-hidden" data-update-url="{{$.RepoLink}}/comments/{{.ID}}" data-context="{{$.RepoLink}}" data-attachment-url="{{$.RepoLink}}/comments/{{.ID}}/attachments"></div>
						</div>
						{{$reactions := .Reactions.GroupByType}}
						{{if $reactions}}
							{{template "repo/issue/view_content/reactions" dict "ctxData" $ "ActionURL" (printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}}
						{{end}}
					</div>
				</div>
			{{end}}
		</div>
		<div class="code-comment-buttons gt-df gt-ac gt-fw gt-mt-3 gt-mb-2 gt-mx-3">
			<div class="gt-f1">
				{{if $resolved}}
					<div class="ui grey text">
						{{svg "octicon-check" 16 "gt-mr-2"}}
						<b>{{$resolveDoer.Name}}</b> {{ctx.Locale.Tr "repo.issues.review.resolved_by"}}
					</div>
				{{end}}
			</div>
			<div class="code-comment-buttons-buttons">
				{{if and $.CanMarkConversation $isNotPending}}
					<button class="ui tiny basic button resolve-conversation" data-origin="timeline" data-action="{{if not $resolved}}Resolve{{else}}UnResolve{{end}}" data-comment-id="{{(index .comments 0).ID}}" data-update-url="{{$.RepoLink}}/issues/resolve_conversation">
						{{if $resolved}}
							{{ctx.Locale.Tr "repo.issues.review.un_resolve_conversation"}}
						{{else}}
							{{ctx.Locale.Tr "repo.issues.review.resolve_conversation"}}
						{{end}}
					</button>
				{{end}}
				{{if and $.SignedUserID (not $.Repository.IsArchived)}}
					<button class="comment-form-reply ui primary tiny labeled icon button gt-ml-2 gt-mr-0">
						{{svg "octicon-reply" 16 "reply icon gt-mr-2"}}{{ctx.Locale.Tr "repo.diff.comment.reply"}}
					</button>
				{{end}}
			</div>
		</div>
		{{template "repo/diff/comment_form_datahandler" dict "hidden" true "reply" (index .comments 0).ReviewID "root" $ "comment" (index .comments 0)}}
	</div>
</div>