A vibe coded tangled fork which supports pijul.
1{{ define "repo/issues/fragments/replyComment" }}
2 <form
3 class="p-2 group w-full border-t border-gray-200 dark:border-gray-700 flex flex-col gap-2"
4 id="reply-form-{{ .Comment.Id }}"
5 hx-post="/{{ .RepoInfo.FullName }}/issues/{{ .Issue.IssueId }}/comment"
6 hx-trigger="submit, keydown[(ctrlKey || metaKey) && key=='Enter'] from:#reply-{{.Comment.Id}}-textarea"
7 hx-on::after-request="if(event.detail.successful) this.reset()"
8 hx-disabled-elt="#reply-{{ .Comment.Id }}"
9 >
10 {{ template "user/fragments/picHandleLink" .LoggedInUser.Did }}
11 <textarea
12 id="reply-{{.Comment.Id}}-textarea"
13 name="body"
14 class="w-full p-2"
15 placeholder="Leave a reply..."
16 autofocus
17 rows="3"></textarea>
18
19 <input
20 type="text"
21 id="reply-to"
22 name="reply-to"
23 required
24 value="{{ .Comment.AtUri }}"
25 class="hidden"
26 />
27 {{ template "replyActions" . }}
28 </form>
29{{ end }}
30
31{{ define "replyActions" }}
32 <div class="flex flex-wrap items-stretch justify-end gap-2 text-gray-500 dark:text-gray-400 text-sm">
33 {{ template "cancel" . }}
34 {{ template "reply" . }}
35 </div>
36{{ end }}
37
38{{ define "cancel" }}
39 <button
40 class="btn text-red-500 dark:text-red-400 flex gap-2 items-center group"
41 hx-get="/{{ .RepoInfo.FullName }}/issues/{{ .Issue.IssueId }}/comment/{{ .Comment.Id }}/replyPlaceholder"
42 hx-target="#reply-form-{{ .Comment.Id }}"
43 hx-swap="outerHTML">
44 {{ i "x" "size-4" }}
45 cancel
46 </button>
47{{ end }}
48
49{{ define "reply" }}
50 <button
51 id="reply-{{ .Comment.Id }}"
52 type="submit"
53 class="btn-create flex items-center gap-2 no-underline hover:no-underline">
54 {{ i "reply" "w-4 h-4 inline group-[.htmx-request]:hidden" }}
55 {{ i "loader-circle" "w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }}
56 reply
57 </button>
58{{ end }}