2024-03-19 07:19:48 +03:00
{{ if len .comments }}
{{ $ comment : = in dex .comments 0 }}
{{ $ in valid : = $ comment .Invalidated }}
{{ $ resolved : = $ comment .IsResolved }}
{{ $ resolveDoer : = $ comment .ResolveDoer }}
{{ $ hasReview : = and $ comment .Review }}
{{ $ isReviewPending : = and $ hasReview ( eq $ comment .Review .Type 0 ) }}
<div class="ui segments conversation-holder">
2024-03-22 22:51:29 +03:00
<div class="ui segment collapsible-comment-box gt-py-3 tw-flex tw-items-center tw-justify-between">
<div class="tw-flex tw-items-center">
2024-03-19 07:19:48 +03:00
<a href=" {{ $ comment .CodeCommentLink ctx }} " class="file-comment gt-ml-3 gt-word-break"> {{ $ comment .TreePath }} </a>
{{ if $ in valid }}
<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 $ in valid $ resolved }}
2024-03-22 22:51:29 +03:00
<button id="show-outdated- {{ $ comment .ID }} " data-comment=" {{ $ comment .ID }} " class=" {{ if not $ resolved }} gt-hidden {{ end }} ui compact labeled button show-outdated tw-flex tw-items-center">
2024-03-19 07:19:48 +03:00
{{ svg "octicon-unfold" 1 6 "gt-mr-3" }}
{{ if $ resolved }}
{{ ctx .Locale .Tr "repo.issues.review.show_resolved" }}
{{ else }}
{{ ctx .Locale .Tr "repo.issues.review.show_outdated" }}
{{ end }}
</button>
2024-03-22 22:51:29 +03:00
<button id="hide-outdated- {{ $ comment .ID }} " data-comment=" {{ $ comment .ID }} " class=" {{ if $ resolved }} gt-hidden {{ end }} ui compact labeled button hide-outdated tw-flex tw-items-center">
2024-03-19 07:19:48 +03:00
{{ svg "octicon-fold" 1 6 "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>
2024-01-24 06:26:28 +03:00
</div>
2024-03-19 07:19:48 +03:00
{{ $ diff : = ( CommentMustAsDiff ctx $ comment ) }}
{{ if $ diff }}
{{ $ file : = ( in dex $ diff .Files 0 ) }}
<div id="code-preview- {{ $ comment .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>
2024-01-24 06:26:28 +03:00
</div>
</div>
2024-03-19 07:19:48 +03:00
{{ end }}
<div id="code-comments- {{ $ comment .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">
2024-03-22 22:51:29 +03:00
<div class="comment-header-left tw-flex tw-items-center">
2024-03-19 07:19:48 +03:00
{{ if not .OriginalAuthor }}
<a class="avatar">
{{ ctx .AvatarUtils .Avatar .Poster 2 0 }}
</a>
{{ end }}
<span class="text grey muted-links">
{{ if .OriginalAuthor }}
<span class="text black">
{{ svg ( MigrationIcon $ .Repository .GetOriginalURLHostname ) }}
{{ .OriginalAuthor }}
</span>
{{ if $ .Repository .OriginalURL }}
<span class="migrate">( {{ ctx .Locale .Tr "repo.migrated_from" $ .Repository .OriginalURL $ .Repository .GetOriginalURLHostname }} )</span>
{{ end }}
{{ else }}
{{ template "shared/user/authorlink" .Poster }}
2024-02-22 10:29:03 +03:00
{{ end }}
2024-03-19 07:19:48 +03:00
{{ ctx .Locale .Tr "repo.issues.commented_at" .HashTag $ createdSubStr }}
</span>
</div>
2024-03-22 22:51:29 +03:00
<div class="comment-header-right actions tw-flex tw-items-center">
2024-03-19 07:19:48 +03:00
{{ 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 ) ) }}
2024-01-24 06:26:28 +03:00
{{ end }}
2024-03-19 07:19:48 +03:00
</div>
2024-01-24 06:26:28 +03:00
</div>
2024-03-19 07:19:48 +03:00
<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 }}
{{ 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>
{{ if .Attachments }}
{{ template "repo/issue/view_content/attachments" dict "Attachments" .Attachments "RenderedContent" .RenderedContent }}
2024-01-24 06:26:28 +03:00
{{ end }}
</div>
2024-03-19 07:19:48 +03:00
{{ $ reactions : = .Reactions .GroupByType }}
{{ if $ reactions }}
{{ template "repo/issue/view_content/reactions" dict "ctxData" $ "ActionURL" ( printf "%s/comments/%d/reactions" $ .RepoLink .ID ) "Reactions" $ reactions }}
2024-02-25 09:00:55 +03:00
{{ end }}
2024-01-24 06:26:28 +03:00
</div>
</div>
{{ end }}
</div>
2024-03-22 22:51:29 +03:00
<div class="code-comment-buttons tw-flex tw-items-center tw-flex-wrap gt-mt-3 gt-mb-2 gt-mx-3">
2024-03-22 16:45:10 +03:00
<div class="tw-flex-1">
2024-03-19 07:19:48 +03:00
{{ if $ resolved }}
<div class="ui grey text">
{{ svg "octicon-check" 1 6 "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 $ hasReview ( not $ isReviewPending ) }}
<button class="ui tiny basic button resolve-conversation" data-origin="timeline" data-action=" {{ if not $ resolved }} Resolve {{ else }} UnResolve {{ end }} " data-comment-id=" {{ $ comment .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" 1 6 "reply icon gt-mr-2" }} {{ ctx .Locale .Tr "repo.diff.comment.reply" }}
</button>
{{ end }}
</div>
2024-01-24 06:26:28 +03:00
</div>
2024-03-19 07:19:48 +03:00
{{ template "repo/diff/comment_form_datahandler" dict "hidden" true "reply" $ comment .ReviewID "root" $ "comment" $ comment }}
2024-01-24 06:26:28 +03:00
</div>
</div>
2024-03-19 07:19:48 +03:00
{{ else }}
{{ template "repo/diff/conversation_outdated" }}
{{ end }}