this repo has no description
1{{ define "title" }}{{ .Tab }} settings · {{ .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 "spindleSettings" . }}
10 {{ if $.CurrentSpindle }}
11 {{ template "secretSettings" . }}
12 {{ end }}
13 <div id="operation-error" class="text-red-500 dark:text-red-400"></div>
14 </div>
15 </section>
16{{ end }}
17
18{{ define "spindleSettings" }}
19 <div class="grid grid-cols-1 md:grid-cols-3 gap-4 items-center">
20 <div class="col-span-1 md:col-span-2">
21 <h2 class="text-sm pb-2 uppercase font-bold">Spindle</h2>
22 <p class="text-gray-500 dark:text-gray-400">
23 Choose a spindle to execute your workflows on. Spindles can be
24 selfhosted,
25 <a class="text-gray-500 dark:text-gray-400 underline" href="https://tangled.sh/@tangled.sh/core/blob/master/docs/spindle/hosting.md">
26 click to learn more.
27 </a>
28 </p>
29 </div>
30 <form hx-post="/{{ $.RepoInfo.FullName }}/settings/spindle" class="col-span-1 md:col-span-1 md:justify-self-end group flex gap-2 items-stretch">
31 <select
32 id="spindle"
33 name="spindle"
34 required
35 class="p-1 max-w-64 border border-gray-200 bg-white dark:bg-gray-800 dark:text-white dark:border-gray-700"
36 {{ if not $.RepoInfo.Roles.IsOwner }}disabled{{ end }}>
37 <option value="" disabled selected >
38 Choose a spindle
39 </option>
40 {{ range $.Spindles }}
41 <option value="{{ . }}" class="py-1" {{ if eq . $.CurrentSpindle }}selected{{ end }}>
42 {{ . }}
43 </option>
44 {{ end }}
45 </select>
46 <button class="btn flex gap-2 items-center" type="submit" {{ if not $.RepoInfo.Roles.IsOwner }}disabled{{ end }}>
47 {{ i "check" "size-4" }}
48 {{ i "loader-circle" "w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }}
49 </button>
50 </form>
51 </div>
52{{ end }}
53
54{{ define "secretSettings" }}
55 <div class="grid grid-cols-1 md:grid-cols-3 gap-4 items-center">
56 <div class="col-span-1 md:col-span-2">
57 <h2 class="text-sm pb-2 uppercase font-bold">SECRETS</h2>
58 <p class="text-gray-500 dark:text-gray-400">
59 Secrets are accessible in workflow runs via environment variables. Anyone
60 with collaborator access to this repository can add and use secrets in
61 workflow runs.
62 </p>
63 </div>
64 <div class="col-span-1 md:col-span-1 md:justify-self-end">
65 {{ template "addSecretButton" . }}
66 </div>
67 </div>
68 <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">
69 {{ range .Secrets }}
70 {{ template "repo/settings/fragments/secretListing" (list $ .) }}
71 {{ else }}
72 <div class="flex items-center justify-center p-2 text-gray-500">
73 no secrets added yet
74 </div>
75 {{ end }}
76 </div>
77{{ end }}
78
79{{ define "addSecretButton" }}
80 <button
81 class="btn flex items-center gap-2"
82 popovertarget="add-secret-modal"
83 popovertargetaction="toggle">
84 {{ i "plus" "size-4" }}
85 add secret
86 </button>
87 <div
88 id="add-secret-modal"
89 popover
90 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">
91 {{ template "addSecretModal" . }}
92 </div>
93{{ end}}
94
95{{ define "addSecretModal" }}
96<form
97 hx-put="/{{ $.RepoInfo.FullName }}/settings/secrets"
98 hx-indicator="#spinner"
99 hx-swap="none"
100 class="flex flex-col gap-2"
101>
102 <p class="uppercase p-0">ADD SECRET</p>
103 <p class="text-sm text-gray-500 dark:text-gray-400">Secrets are available as environment variables in the workflow.</p>
104 <input
105 type="text"
106 id="secret-key"
107 name="key"
108 required
109 placeholder="SECRET_NAME"
110 />
111 <textarea
112 type="text"
113 id="secret-value"
114 name="value"
115 required
116 placeholder="secret value"></textarea>
117 <div class="flex gap-2 pt-2">
118 <button
119 type="button"
120 popovertarget="add-secret-modal"
121 popovertargetaction="hide"
122 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"
123 >
124 {{ i "x" "size-4" }} cancel
125 </button>
126 <button type="submit" class="btn w-1/2 flex items-center">
127 <span class="inline-flex gap-2 items-center">{{ i "plus" "size-4" }} add</span>
128 <span id="spinner" class="group">
129 {{ i "loader-circle" "ml-2 w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }}
130 </span>
131 </button>
132 </div>
133 <div id="add-secret-error" class="text-red-500 dark:text-red-400"></div>
134</form>
135{{ end }}