this repo has no description
1{{ define "title" }}{{ .Registration.Domain }} · knots{{ end }}
2
3{{ define "content" }}
4<div class="px-6 py-4">
5 <div class="flex justify-between items-center">
6 <h1 class="text-xl font-bold dark:text-white">{{ .Registration.Domain }}</h1>
7 <div id="right-side" class="flex gap-2">
8 {{ $style := "px-2 py-1 rounded flex items-center flex-shrink-0 gap-2" }}
9 {{ $isOwner := and .LoggedInUser (eq .LoggedInUser.Did .Registration.ByDid) }}
10 {{ if .Registration.IsRegistered }}
11 <span class="bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200 {{$style}}">{{ i "shield-check" "w-4 h-4" }} verified</span>
12 {{ if $isOwner }}
13 {{ template "knots/fragments/addMemberModal" .Registration }}
14 {{ end }}
15 {{ else if .Registration.IsReadOnly }}
16 <span class="bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200 {{$style}}">
17 {{ i "shield-alert" "w-4 h-4" }} read-only
18 </span>
19 {{ if $isOwner }}
20 {{ block "retryButton" .Registration }} {{ end }}
21 {{ end }}
22 {{ else }}
23 <span class="bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200 {{$style}}">{{ i "shield-off" "w-4 h-4" }} unverified</span>
24 {{ if $isOwner }}
25 {{ block "retryButton" .Registration }} {{ end }}
26 {{ end }}
27 {{ end }}
28
29 {{ if $isOwner }}
30 {{ block "deleteButton" .Registration }} {{ end }}
31 {{ end }}
32 </div>
33 </div>
34 <div id="operation-error" class="dark:text-red-400"></div>
35</div>
36
37{{ if .Members }}
38 <section class="bg-white dark:bg-gray-800 p-6 rounded relative w-full mx-auto drop-shadow-sm dark:text-white">
39 <div class="flex flex-col gap-2">
40 {{ block "member" . }} {{ end }}
41 </div>
42 </section>
43{{ end }}
44{{ end }}
45
46
47{{ define "member" }}
48 {{ range .Members }}
49 <div>
50 <div class="flex justify-between items-center">
51 <div class="flex items-center gap-2">
52 {{ template "user/fragments/picHandleLink" . }}
53 <span class="ml-2 font-mono text-gray-500">{{.}}</span>
54 </div>
55 {{ if ne $.LoggedInUser.Did . }}
56 {{ block "removeMemberButton" (list $ . ) }} {{ end }}
57 {{ end }}
58 </div>
59 <div class="ml-2 pl-2 pt-2 border-l border-gray-200 dark:border-gray-700">
60 {{ $repos := index $.Repos . }}
61 {{ range $repos }}
62 <div class="flex gap-2 items-center">
63 {{ i "book-marked" "size-4" }}
64 <a href="/{{ resolve .Did }}/{{ .Name }}">
65 {{ .Name }}
66 </a>
67 </div>
68 {{ else }}
69 <div class="text-gray-500 dark:text-gray-400">
70 No repositories configured yet.
71 </div>
72 {{ end }}
73 </div>
74 </div>
75 {{ end }}
76{{ end }}
77
78{{ define "deleteButton" }}
79 <button
80 class="btn text-red-500 hover:text-red-700 dark:text-red-400 dark:hover:text-red-300 gap-2 group"
81 title="Delete knot"
82 hx-delete="/knots/{{ .Domain }}"
83 hx-swap="outerHTML"
84 hx-confirm="Are you sure you want to delete the knot '{{ .Domain }}'?"
85 hx-headers='{"shouldRedirect": "true"}'
86 >
87 {{ i "trash-2" "w-5 h-5" }}
88 <span class="hidden md:inline">delete</span>
89 {{ i "loader-circle" "w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }}
90 </button>
91{{ end }}
92
93
94{{ define "retryButton" }}
95 <button
96 class="btn gap-2 group"
97 title="Retry knot verification"
98 hx-post="/knots/{{ .Domain }}/retry"
99 hx-swap="none"
100 hx-headers='{"shouldRefresh": "true"}'
101 >
102 {{ i "rotate-ccw" "w-5 h-5" }}
103 <span class="hidden md:inline">retry</span>
104 {{ i "loader-circle" "w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }}
105 </button>
106{{ end }}
107
108
109{{ define "removeMemberButton" }}
110 {{ $root := index . 0 }}
111 {{ $member := index . 1 }}
112 {{ $memberHandle := resolve $member }}
113 <button
114 class="btn text-red-500 hover:text-red-700 dark:text-red-400 dark:hover:text-red-300 gap-2 group"
115 title="Remove member"
116 hx-post="/knots/{{ $root.Registration.Domain }}/remove"
117 hx-swap="none"
118 hx-vals='{"member": "{{$member}}" }'
119 hx-confirm="Are you sure you want to remove {{ $memberHandle }} from this knot?"
120 >
121 {{ i "user-minus" "w-4 h-4" }}
122 remove
123 {{ i "loader-circle" "w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }}
124 </button>
125{{ end }}
126
127