forked from tangled.org/core
Monorepo for Tangled — https://tangled.org
1{{ define "title" }}{{ .Tab }} settings &middot; {{ .RepoInfo.FullName }}{{ end }} 2 3{{ define "repoContent" }} 4 <section class="w-full grid grid-cols-1 md:grid-cols-4 gap-2"> 5 <div class="col-span-1"> 6 {{ template "repo/settings/fragments/sidebar" . }} 7 </div> 8 <div class="col-span-1 md:col-span-3 flex flex-col gap-6 p-2"> 9 {{ template "collaboratorSettings" . }} 10 </div> 11 </section> 12{{ end }} 13 14{{ define "collaboratorSettings" }} 15 <div class="grid grid-cols-1 gap-4 items-center"> 16 <div class="col-span-1"> 17 <h2 class="text-sm pb-2 uppercase font-bold">Collaborators</h2> 18 <p class="text-gray-500 dark:text-gray-400"> 19 Any user added as a collaborator will be able to push commits and tags to this repository, upload releases, and workflows. 20 </p> 21 </div> 22 {{ template "collaboratorsGrid" . }} 23 </div> 24{{ end }} 25 26{{ define "collaboratorsGrid" }} 27 <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4"> 28 {{ if .RepoInfo.Roles.CollaboratorInviteAllowed }} 29 {{ template "addCollaboratorButton" . }} 30 {{ end }} 31 {{ range .Collaborators }} 32 <div class="border border-gray-200 dark:border-gray-700 rounded p-4"> 33 <div class="flex items-center gap-3"> 34 <img 35 src="{{ fullAvatar .Handle }}" 36 alt="{{ .Handle }}" 37 class="rounded-full h-10 w-10 border border-gray-300 dark:border-gray-600 flex-shrink-0"/> 38 39 <div class="flex-1 min-w-0"> 40 <a href="/{{ .Handle }}" class="block truncate"> 41 {{ didOrHandle .Did .Handle }} 42 </a> 43 <p class="text-sm text-gray-500 dark:text-gray-400">{{ .Role }}</p> 44 </div> 45 </div> 46 </div> 47 {{ end }} 48 </div> 49{{ end }} 50 51{{ define "addCollaboratorButton" }} 52 <button 53 class="btn block rounded p-4" 54 popovertarget="add-collaborator-modal" 55 popovertargetaction="toggle"> 56 <div class="flex items-center gap-3"> 57 <div class="w-10 h-10 rounded-full bg-gray-100 dark:bg-gray-700 flex items-center justify-center"> 58 {{ i "user-plus" "size-4" }} 59 </div> 60 61 <div class="text-left flex-1 min-w-0 block truncate"> 62 Add collaborator 63 </div> 64 </div> 65 </button> 66 <div 67 id="add-collaborator-modal" 68 popover 69 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"> 70 {{ template "addCollaboratorModal" . }} 71 </div> 72{{ end }} 73 74{{ define "addCollaboratorModal" }} 75<form 76 hx-put="/{{ $.RepoInfo.FullName }}/settings/collaborator" 77 hx-indicator="#spinner" 78 hx-swap="none" 79 class="flex flex-col gap-2" 80> 81 <label for="add-collaborator" class="uppercase p-0"> 82 ADD COLLABORATOR 83 </label> 84 <p class="text-sm text-gray-500 dark:text-gray-400">Collaborators can push to this repository.</p> 85 <input 86 type="text" 87 id="add-collaborator" 88 name="collaborator" 89 required 90 placeholder="@foo.bsky.social" 91 /> 92 <div class="flex gap-2 pt-2"> 93 <button 94 type="button" 95 popovertarget="add-collaborator-modal" 96 popovertargetaction="hide" 97 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" 98 > 99 {{ i "x" "size-4" }} cancel 100 </button> 101 <button type="submit" class="btn w-1/2 flex items-center"> 102 <span class="inline-flex gap-2 items-center">{{ i "user-plus" "size-4" }} add</span> 103 <span id="spinner" class="group"> 104 {{ i "loader-circle" "ml-2 w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }} 105 </span> 106 </button> 107 </div> 108 <div id="add-collaborator-error" class="text-red-500 dark:text-red-400"></div> 109</form> 110{{ end }}