Monorepo for Tangled
tangled.org
1{{ define "fragments/comment/reply" }}
2 <form
3 class="p-2 group w-full border-t border-gray-200 dark:border-gray-700 flex flex-col gap-2"
4 hx-post="/comment"
5 hx-swap="none"
6 hx-trigger="submit, keydown[(ctrlKey || metaKey) && key=='Enter'] from:find textarea"
7 hx-on::before-request="this.querySelector('#comment-error').innerHTML = ''"
8 hx-on::after-request="if(event.detail.successful) this.reset()"
9 hx-disabled-elt="find button[type='submit']"
10 >
11 {{ template "user/fragments/picHandleLink" .LoggedInUser.Did }}
12 <textarea
13 name="body"
14 class="w-full p-2"
15 placeholder="Leave a reply..."
16 autofocus
17 rows="3"></textarea>
18 {{ template "replyActions" . }}
19 </form>
20{{ end }}
21
22{{ define "replyActions" }}
23 <div class="flex flex-wrap items-stretch justify-end gap-2 text-gray-500 dark:text-gray-400">
24 <div id="comment-error" class="error ml-auto"></div>
25 {{ template "cancel" . }}
26 {{ template "reply" . }}
27 </div>
28{{ end }}
29
30{{ define "cancel" }}
31 <button
32 class="btn-flat text-red-500 dark:text-red-400 flex gap-2 items-center group"
33 hx-get="/comment/reply/placeholder"
34 hx-target="closest form"
35 hx-swap="outerHTML"
36 >
37 {{ i "x" "size-4" }}
38 Cancel
39 </button>
40{{ end }}
41
42{{ define "reply" }}
43 <button
44 type="submit"
45 class="btn-create-flat flex items-center gap-2 no-underline hover:no-underline"
46 >
47 {{ i "reply" "w-4 h-4 inline group-[.htmx-request]:hidden" }}
48 {{ i "loader-circle" "w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }}
49 Reply
50 </button>
51{{ end }}