this repo has no description
1{{ define "title" }}{{ .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 "sshKeysSettings" . }} 14 </div> 15 </section> 16 </div> 17{{ end }} 18 19{{ define "sshKeysSettings" }} 20 <div class="grid grid-cols-1 md:grid-cols-3 gap-4 items-center"> 21 <div class="col-span-1 md:col-span-2"> 22 <h2 class="text-sm pb-2 uppercase font-bold">SSH Keys</h2> 23 <p class="text-gray-500 dark:text-gray-400"> 24 SSH public keys added here will be broadcasted to knots that you are a member of, 25 allowing you to push to repositories there. 26 </p> 27 </div> 28 <div class="col-span-1 md:col-span-1 md:justify-self-end"> 29 {{ template "addKeyButton" . }} 30 </div> 31 </div> 32 <div class="flex flex-col rounded border border-gray-200 dark:border-gray-700 divide-y divide-gray-200 dark:divide-gray-700 w-full"> 33 {{ range .PubKeys }} 34 {{ template "user/settings/fragments/keyListing" (list $ .) }} 35 {{ else }} 36 <div class="flex items-center justify-center p-2 text-gray-500"> 37 no keys added yet 38 </div> 39 {{ end }} 40 </div> 41{{ end }} 42 43{{ define "addKeyButton" }} 44 <button 45 class="btn flex items-center gap-2" 46 popovertarget="add-key-modal" 47 popovertargetaction="toggle"> 48 {{ i "plus" "size-4" }} 49 add key 50 </button> 51 <div 52 id="add-key-modal" 53 popover 54 class="bg-white w-full md:w-96 dark:bg-gray-800 p-4 rounded border border-gray-200 dark:border-gray-700 drop-shadow dark:text-white backdrop:bg-gray-400/50 dark:backdrop:bg-gray-800/50"> 55 {{ template "addKeyModal" . }} 56 </div> 57{{ end}} 58 59{{ define "addKeyModal" }} 60<form 61 hx-put="/settings/keys" 62 hx-indicator="#spinner" 63 hx-swap="none" 64 class="flex flex-col gap-2" 65> 66 <label for="key-name" class="uppercase p-0"> 67 add ssh key 68 </label> 69 <p class="text-sm text-gray-500 dark:text-gray-400">SSH keys allow you to push to repositories in knots you're a member of.</p> 70 <input 71 type="text" 72 id="key-name" 73 name="name" 74 required 75 placeholder="key name" 76 class="w-full dark:bg-gray-700 dark:text-white dark:border-gray-600 dark:placeholder-gray-400" 77 /> 78 <textarea 79 type="text" 80 id="key-value" 81 name="key" 82 required 83 placeholder="ssh-rsa AAAAB3NzaC1yc2E..." 84 class="w-full dark:bg-gray-700 dark:text-white dark:border-gray-600 dark:placeholder-gray-400"></textarea> 85 <div class="flex gap-2 pt-2"> 86 <button 87 type="button" 88 popovertarget="add-key-modal" 89 popovertargetaction="hide" 90 class="btn w-1/2 flex items-center gap-2 text-red-500 hover:text-red-700 dark:text-red-400 dark:hover:text-red-300" 91 > 92 {{ i "x" "size-4" }} cancel 93 </button> 94 <button type="submit" class="btn w-1/2 flex items-center"> 95 <span class="inline-flex gap-2 items-center">{{ i "plus" "size-4" }} add</span> 96 <span id="spinner" class="group"> 97 {{ i "loader-circle" "ml-2 w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }} 98 </span> 99 </button> 100 </div> 101 <div id="settings-keys" class="text-red-500 dark:text-red-400"></div> 102</form> 103{{ end }}