forked from tangled.org/core
Monorepo for Tangled — https://tangled.org
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 "emailSettings" . }} 14 </div> 15 </section> 16 </div> 17{{ end }} 18 19{{ define "emailSettings" }} 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">Email Addresses</h2> 23 <p class="text-gray-500 dark:text-gray-400"> 24 Commits authored using emails listed here will be associated with your Tangled profile. 25 </p> 26 </div> 27 <div class="col-span-1 md:col-span-1 md:justify-self-end"> 28 {{ template "addEmailButton" . }} 29 </div> 30 </div> 31 <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"> 32 {{ range .Emails }} 33 {{ template "user/settings/fragments/emailListing" (list $ .) }} 34 {{ else }} 35 <div class="flex items-center justify-center p-2 text-gray-500"> 36 no emails added yet 37 </div> 38 {{ end }} 39 </div> 40{{ end }} 41 42{{ define "addEmailButton" }} 43 <button 44 class="btn flex items-center gap-2" 45 popovertarget="add-email-modal" 46 popovertargetaction="toggle"> 47 {{ i "plus" "size-4" }} 48 add email 49 </button> 50 <div 51 id="add-email-modal" 52 popover 53 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"> 54 {{ template "addEmailModal" . }} 55 </div> 56{{ end}} 57 58{{ define "addEmailModal" }} 59<form 60 hx-put="/settings/emails" 61 hx-indicator="#spinner" 62 hx-swap="none" 63 class="flex flex-col gap-2" 64> 65 <p class="uppercase p-0">ADD EMAIL</p> 66 <p class="text-sm text-gray-500 dark:text-gray-400">Commits using this email will be associated with your profile.</p> 67 <input 68 type="email" 69 id="email-address" 70 name="email" 71 required 72 placeholder="your@email.com" 73 class="w-full dark:bg-gray-700 dark:text-white dark:border-gray-600 dark:placeholder-gray-400" 74 /> 75 <div class="flex gap-2 pt-2"> 76 <button 77 type="button" 78 popovertarget="add-email-modal" 79 popovertargetaction="hide" 80 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" 81 > 82 {{ i "x" "size-4" }} cancel 83 </button> 84 <button type="submit" class="btn w-1/2 flex items-center"> 85 <span class="inline-flex gap-2 items-center">{{ i "plus" "size-4" }} add</span> 86 <span id="spinner" class="group"> 87 {{ i "loader-circle" "ml-2 w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }} 88 </span> 89 </button> 90 </div> 91 <div id="settings-emails-error" class="text-red-500 dark:text-red-400"></div> 92 <div id="settings-emails-success" class="text-green-500 dark:text-green-400"></div> 93</form> 94{{ end }}