1{{ define "title" }}settings{{ end }}
2
3{{ define "content" }}
4 <h1>settings</h1>
5
6 <section class="mb-8">
7 <h2 class="text-xl mb-4">profile</h2>
8 <dl class="grid grid-cols-[auto_1fr] gap-x-4">
9 <dt>handle</dt>
10 <dd>{{ .LoggedInUser.Handle }}</dd>
11 <dt>did</dt>
12 <dd>{{ .LoggedInUser.Did }}</dd>
13 <dt>pds</dt>
14 <dd>{{ .LoggedInUser.Pds }}</dd>
15 </dl>
16 </section>
17
18 <section>
19 <h2 class="text-xl mb-4">ssh keys</h2>
20 <form
21 hx-put="/settings/keys"
22 hx-swap="none"
23 class="max-w-2xl space-y-4 mb-8"
24 >
25 <div>
26 <label for="name" class="block mb-1">key name</label>
27 <input
28 type="text"
29 id="name"
30 name="name"
31 required
32 class="w-full"
33 />
34 </div>
35
36 <div>
37 <label for="key" class="block mb-1">pub key</label>
38 <textarea
39 id="key"
40 name="key"
41 placeholder="ssh-rsa AAAAAA..."
42 required
43 class="w-full h-24"
44 ></textarea>
45 </div>
46
47 <button class="btn" type="submit">add key</button>
48
49 <div id="settings-keys" class="error"></div>
50 </form>
51
52 <h3 class="text-lg mb-2">existing keys</h3>
53 <ul id="key-list" class="space-y-4">
54 {{ range .PubKeys }}
55 <li class="p-4 bg-gray-50 rounded">
56 <h4 class="font-bold mb-2">{{ .Name }}</h4>
57 <code class="block text-sm break-all">{{ .Key }}</code>
58 </li>
59 {{ else }}
60 <p class="text-gray-600">no ssh keys added yet</p>
61 {{ end }}
62 </ul>
63 </section>
64{{ end }}