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