64 lines
1.9 kB
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 }}
65