mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-01 21:54:04 +01:00
2c7661a524
* comments: Fix an incorrent DOM element selection. This commit fixes a bug that was causing text from previously edited comment to get saved when two comments were edited one after other. Text area with id of `#content` isn't unique on the page but it was being treated as unique by the event handling code. Fixes: #5581. * templates: Remove `id` from textarea in commit edit form. An element is assigned an `id` only if it is unique for the whole page but in this case there can be multiple textarea so it should have one.
143 lines
5.6 KiB
Cheetah
143 lines
5.6 KiB
Cheetah
<div class="ui stackable grid">
|
|
{{if .Flash}}
|
|
<div class="sixteen wide column">
|
|
{{template "base/alert" .}}
|
|
</div>
|
|
{{end}}
|
|
{{if not .Issue.IsPull}}
|
|
{{template "repo/issue/view_title" .}}
|
|
{{end}}
|
|
|
|
{{ $createdStr:= TimeSinceUnix .Issue.CreatedUnix $.Lang }}
|
|
<div class="twelve wide column comment-list">
|
|
<ui class="ui comments">
|
|
<div class="comment">
|
|
<a class="avatar" {{if gt .Issue.Poster.ID 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>
|
|
<img src="{{.Issue.Poster.RelAvatarLink}}">
|
|
</a>
|
|
<div class="content">
|
|
<div class="ui top attached header">
|
|
<span class="text grey"><a {{if gt .Issue.Poster.ID 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.Name}}</a> {{.i18n.Tr "repo.issues.commented_at" .Issue.HashTag $createdStr | Safe}}</span>
|
|
<div class="ui right actions">
|
|
{{template "repo/issue/view_content/add_reaction" Dict "ctx" $ "ActionURL" (Printf "%s/issues/%d/reactions" $.RepoLink .Issue.Index) }}
|
|
{{if or .IsIssueWriter .IsIssuePoster}}
|
|
<div class="item action">
|
|
<a class="edit-content" href="#"><i class="octicon octicon-pencil"></i></a>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<div class="ui attached segment">
|
|
<div class="render-content markdown has-emoji">
|
|
{{if .Issue.RenderedContent}}
|
|
{{.Issue.RenderedContent|Str2html}}
|
|
{{else}}
|
|
<span class="no-content">{{.i18n.Tr "repo.issues.no_content"}}</span>
|
|
{{end}}
|
|
</div>
|
|
<div class="raw-content hide">{{.Issue.Content}}</div>
|
|
<div class="edit-content-zone hide" data-write="issue-{{.Issue.ID}}-write" data-preview="issue-{{.Issue.ID}}-preview" data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/content" data-context="{{.RepoLink}}"></div>
|
|
</div>
|
|
{{$reactions := .Issue.Reactions.GroupByType}}
|
|
{{if $reactions}}
|
|
<div class="ui attached segment reactions">
|
|
{{template "repo/issue/view_content/reactions" Dict "ctx" $ "ActionURL" (Printf "%s/issues/%d/reactions" $.RepoLink .Issue.Index) "Reactions" $reactions }}
|
|
</div>
|
|
{{end}}
|
|
{{if .Issue.Attachments}}
|
|
<div class="ui bottom attached segment">
|
|
<div class="ui small images">
|
|
{{range .Issue.Attachments}}
|
|
<a target="_blank" rel="noopener noreferrer" href="{{AppSubUrl}}/attachments/{{.UUID}}">
|
|
{{if FilenameIsImage .Name}}
|
|
<img class="ui image" src="{{AppSubUrl}}/attachments/{{.UUID}}" title='{{$.i18n.Tr "repo.issues.attachment.open_tab" .Name}}'>
|
|
{{else}}
|
|
<span class="ui image octicon octicon-desktop-download" title='{{$.i18n.Tr "repo.issues.attachment.download" .Name}}'></span>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
{{ template "repo/issue/view_content/comments" . }}
|
|
|
|
{{if .Issue.IsPull}}
|
|
{{ template "repo/issue/view_content/pull". }}
|
|
{{end}}
|
|
|
|
{{if .IsSigned}}
|
|
<div class="comment form">
|
|
<a class="avatar" href="{{.SignedUser.HomeLink}}">
|
|
<img src="{{.SignedUser.RelAvatarLink}}">
|
|
</a>
|
|
<div class="content">
|
|
<form class="ui segment form" id="comment-form" action="{{$.RepoLink}}/issues/{{.Issue.Index}}/comments" method="post">
|
|
{{template "repo/issue/comment_tab" .}}
|
|
{{.CsrfTokenHtml}}
|
|
<input id="status" name="status" type="hidden">
|
|
<div class="text right">
|
|
{{if and (or .IsIssueWriter .IsIssuePoster) (not .DisableStatusChange)}}
|
|
{{if .Issue.IsClosed}}
|
|
<div id="status-button" class="ui green basic button" tabindex="6" data-status="{{.i18n.Tr "repo.issues.reopen_issue"}}" data-status-and-comment="{{.i18n.Tr "repo.issues.reopen_comment_issue"}}" data-status-val="reopen">
|
|
{{.i18n.Tr "repo.issues.reopen_issue"}}
|
|
</div>
|
|
{{else}}
|
|
<div id="status-button" class="ui red basic button" tabindex="6" data-status="{{.i18n.Tr "repo.issues.close_issue"}}" data-status-and-comment="{{.i18n.Tr "repo.issues.close_comment_issue"}}" data-status-val="close">
|
|
{{.i18n.Tr "repo.issues.close_issue"}}
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
<button class="ui green button" tabindex="5">
|
|
{{.i18n.Tr "repo.issues.create_comment"}}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{{else}}
|
|
<div class="ui warning message">
|
|
{{.i18n.Tr "repo.issues.sign_in_require_desc" .SignInLink | Safe}}
|
|
</div>
|
|
{{end}}
|
|
</ui>
|
|
</div>
|
|
|
|
{{ template "repo/issue/view_content/sidebar" . }}
|
|
</div>
|
|
|
|
<div class="hide" id="edit-content-form">
|
|
<div class="ui comment form">
|
|
<div class="ui top attached tabular menu">
|
|
<a class="active write item">{{$.i18n.Tr "write"}}</a>
|
|
<a class="preview item" data-url="{{AppSubUrl}}/api/v1/markdown" data-context="{{$.RepoLink}}">{{$.i18n.Tr "preview"}}</a>
|
|
</div>
|
|
<div class="ui bottom attached active write tab segment">
|
|
<textarea tabindex="1" name="content"></textarea>
|
|
</div>
|
|
<div class="ui bottom attached tab preview segment markdown">
|
|
{{$.i18n.Tr "loading"}}
|
|
</div>
|
|
<div class="text right edit buttons">
|
|
<div class="ui basic blue cancel button" tabindex="3">{{.i18n.Tr "repo.issues.cancel"}}</div>
|
|
<div class="ui green save button" tabindex="2">{{.i18n.Tr "repo.issues.save"}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hide" id="no-content">
|
|
<span class="no-content">{{.i18n.Tr "repo.issues.no_content"}}</span>
|
|
</div>
|
|
|
|
<div class="ui small basic delete modal">
|
|
<div class="ui icon header">
|
|
<i class="trash icon"></i>
|
|
{{.i18n.Tr "repo.branch.delete" .HeadTarget }}
|
|
</div>
|
|
<div class="content">
|
|
<p>{{.i18n.Tr "repo.branch.delete_desc" | Str2html}}</p>
|
|
</div>
|
|
{{template "base/delete_modal_actions" .}}
|
|
</div>
|