b8622ddd60a831ec5e82333e8c47f4706d65253e / internal/web/templates/issue.html · 2305 bytes · raw
{{define "title"}}#{{.Number}} {{.Title}} · {{.Owner}}/{{.RepoName}} · simplegit{{end}}
{{define "content"}}
{{template "repo_nav" .}}
<h2><span class="muted">#{{.Number}}</span> {{.Title}}</h2>
{{template "state" .}}
<article class="issue-body">{{.BodyHTML}}</article>
<p class="issue-meta muted">opened by {{.Author}}{{if .AuthorIsOwner}} <span class="badge">owner</span>{{end}}{{if .IsOwner}}{{if .AuthorEmail}} <{{.AuthorEmail}}>{{end}}{{end}} · {{.Created}}</p>
{{if .Submitted}}<p class="ok">your comment was submitted and is awaiting review.</p>{{end}}
<h2>comments</h2>
<section id="comments">
{{range .Comments}}{{template "comment" .}}{{end}}
</section>
{{if .CanWrite}}
<form id="comment-form" method="post" action="{{.Base}}/comments"
hx-post="{{.Base}}/comments"
hx-target="{{if .IsOwner}}#comments{{else}}#comment-status{{end}}"
hx-swap="{{if .IsOwner}}beforeend{{else}}innerHTML{{end}}"
hx-on::after-request="if(event.detail.successful) this.reset()">
<p><label for="comment-body">comment</label><br>
<textarea id="comment-body" name="body" rows="6" required></textarea></p>
{{if not .IsOwner}}{{template "guest_fields" "comment_"}}{{end}}
<p class="hp"><label>website <input name="website" tabindex="-1" autocomplete="off"></label></p>
<p><button type="submit">comment</button></p>
</form>
<div id="comment-status"></div>
{{end}}
{{end}}
{{define "state"}}
<div id="issue-state" class="issue-state">
<span class="badge {{.State}}">{{.State}}</span>
{{if .Pending}}<span class="badge pending">pending</span>{{end}}
{{if .IsOwner}}
{{if .Pending}}
<form method="post" action="{{.Base}}/approve"><button class="linklike" type="submit">approve</button></form>
{{end}}
{{if eq .State "open"}}
<form method="post" action="{{.Base}}/close" hx-post="{{.Base}}/close" hx-target="#issue-state" hx-swap="outerHTML"><button class="linklike" type="submit">close</button></form>
{{else}}
<form method="post" action="{{.Base}}/reopen" hx-post="{{.Base}}/reopen" hx-target="#issue-state" hx-swap="outerHTML"><button class="linklike" type="submit">reopen</button></form>
{{end}}
<form method="post" action="{{.Base}}/delete"><button class="linklike" type="submit">delete</button></form>
{{end}}
</div>
{{end}}