1{{ define "title" }}settings{{ end }}
2
3{{ define "content" }}
4 <div class="p-6">
5 <p class="text-xl font-bold">Settings</p>
6 </div>
7 <div class="flex flex-col">
8 {{ block "profile" . }} {{ end }}
9 {{ block "keys" . }} {{ end }}
10 {{ block "knots" . }} {{ end }}
11 </div>
12{{ end }}
13
14{{ define "profile" }}
15<h2 class="text-sm font-bold py-2 px-6 uppercase">profile</h2>
16<section class="rounded bg-white drop-shadow-sm px-6 py-4 mb-6 w-full lg:w-fit">
17 <dl class="grid grid-cols-[auto_1fr] gap-x-4">
18 {{ if .LoggedInUser.Handle }}
19 <dt class="font-bold">handle</dt>
20 <dd>@{{ .LoggedInUser.Handle }}</dd>
21 {{ end }}
22 <dt class="font-bold">did</dt>
23 <dd>{{ .LoggedInUser.Did }}</dd>
24 <dt class="font-bold">pds</dt>
25 <dd>{{ .LoggedInUser.Pds }}</dd>
26 </dl>
27</section>
28{{ end }}
29
30{{ define "keys" }}
31<h2 class="text-sm font-bold py-2 px-6 uppercase">ssh keys</h2>
32<section class="rounded bg-white drop-shadow-sm px-6 py-4 mb-6 w-full lg:w-fit">
33 <div id="key-list" class="flex flex-col gap-6 mb-8">
34 {{ range .PubKeys }}
35 <div class="flex justify-between items-center gap-4">
36 <div>
37 <div class="inline-flex items-center gap-4">
38 <i class="w-3 h-3" data-lucide="key"></i>
39 <p class="font-bold">{{ .Name }}</p>
40 <p class="text-sm text-gray-500">added {{ .Created | timeFmt }}</p>
41 </div>
42 <code class="block break-all text-sm break-all text-gray-500">{{ .Key }}</code>
43 </div>
44 <button
45 class="btn text-red-500 hover:text-red-700"
46 title="Delete key"
47 hx-delete="/settings/keys?name={{urlquery .Name}}&rkey={{urlquery .Rkey}}&key={{urlquery .Key}}"
48 hx-confirm="Are you sure you wish to delete the key '{{ .Name }}'?">
49 <i class="w-5 h-5" data-lucide="trash-2"></i>
50 </button>
51 </div>
52 {{ end }}
53 </div>
54 <hr class="mb-4" />
55 <p class="mb-2">add an ssh key</p>
56 <form
57 hx-put="/settings/keys"
58 hx-swap="none"
59 class="max-w-2xl mb-8 space-y-4"
60 >
61 <input
62 type="text"
63 id="name"
64 name="name"
65 placeholder="key name"
66 required
67 class="w-full"/>
68
69 <input
70 id="key"
71 name="key"
72 placeholder="ssh-rsa AAAAAA..."
73 required
74 class="w-full"/>
75
76 <button class="btn w-full" type="submit">add key</button>
77
78 <div id="settings-keys" class="error"></div>
79 </form>
80</section>
81{{ end }}