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