Monorepo for Tangled
tangled.org
1{{ define "fragments/tabSelector" }}
2 {{ $name := .Name }}
3 {{ $all := .Values }}
4 {{ $active := .Active }}
5 {{ $include := .Include }}
6 {{ $form := .Form }}
7 <div class="btn-group">
8 {{ range $index, $value := $all }}
9 {{ $isActive := eq $value.Key $active }}
10 {{ if $form }}
11 <button type="submit"
12 form="{{ $form }}"
13 name="{{ $name }}" value="{{ $value.Key }}"
14 hx-get="?{{ $name }}={{ $value.Key }}"
15 hx-include="{{ $include }}"
16 hx-push-url="true"
17 hx-target="body"
18 hx-on:htmx:config-request="if(!event.detail.parameters.q) delete event.detail.parameters.q"
19 class="btn-group-item {{ if $isActive }}active{{ end }}">
20 {{ if $value.Icon }}
21 {{ i $value.Icon "size-4" }}
22 {{ end }}
23
24 {{ with $value.Meta }}
25 {{ . }}
26 {{ end }}
27
28 {{ $value.Value }}
29 </button>
30 {{ else }}
31 <a href="?{{ $name }}={{ $value.Key }}"
32 {{ if $include }}
33 hx-get="?{{ $name }}={{ $value.Key }}"
34 hx-include="{{ $include }}"
35 hx-push-url="true"
36 hx-target="body"
37 hx-on:htmx:config-request="if(!event.detail.parameters.q) delete event.detail.parameters.q"
38 {{ end }}
39 class="btn-group-item {{ if $isActive }}active{{ end }}">
40 {{ if $value.Icon }}
41 {{ i $value.Icon "size-4" }}
42 {{ end }}
43
44 {{ with $value.Meta }}
45 {{ . }}
46 {{ end }}
47
48 {{ $value.Value }}
49 </a>
50 {{ end }}
51 {{ end }}
52 </div>
53{{ end }}