josie / simplegit

{{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}} &lt;{{.AuthorEmail}}&gt;{{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}}