A vibe coded tangled fork which supports pijul.
at acff01ecb340ced1ece567ee4e81de3af265c588 74 lines 2.5 kB view raw
1{{ define "title" }} 2 {{ .Workflow }} &middot; pipeline {{ .Pipeline.Id }} &middot; 3 {{ .RepoInfo.FullName }} 4{{ end }} 5 6{{ define "extrameta" }} 7 {{ $title := "pipelines" }} 8 {{ $url := printf "https://tangled.sh/%s/pipelines" .RepoInfo.FullName }} 9 {{ template "repo/fragments/og" (dict "RepoInfo" .RepoInfo "Title" $title "Url" $url) }} 10{{ end }} 11 12{{ define "repoContent" }} 13 <section class="w-full grid grid-cols-1 md:grid-cols-4 gap-2 mt-2"> 14 <div class="col-span-1"> 15 {{ block "sidebar" . }}{{ end }} 16 </div> 17 <div class="col-span-1 md:col-span-3"> 18 {{ block "logs" . }}{{ end }} 19 </div> 20 </section> 21{{ end }} 22 23{{ define "sidebar" }} 24 {{ $active := .Workflow }} 25 26 {{ $activeTab := "bg-white dark:bg-gray-700 drop-shadow-sm" }} 27 {{ $inactiveTab := "bg-gray-100 dark:bg-gray-800" }} 28 29 {{ with .Pipeline }} 30 {{ $id := .Id }} 31 <div 32 class="sticky top-2 grid grid-cols-1 rounded border border-gray-200 dark:border-gray-700 divide-y divide-gray-200 dark:divide-gray-700"> 33 {{ range $name, $all := .Statuses }} 34 <a 35 href="/{{ $.RepoInfo.FullName }}/pipelines/{{ $id }}/workflow/{{ $name }}" 36 class="no-underline hover:no-underline hover:bg-gray-100/25 hover:dark:bg-gray-700/25"> 37 <div 38 class="flex gap-2 items-center justify-between p-2 {{ if eq $name $active }} 39 {{ $activeTab }} 40 {{ else }} 41 {{ $inactiveTab }} 42 {{ end }}"> 43 {{ $lastStatus := $all.Latest }} 44 {{ $kind := $lastStatus.Status.String }} 45 46 47 <div id="left" class="flex items-center gap-2 flex-shrink-0"> 48 {{ template "repo/pipelines/fragments/workflowSymbol" $all }} 49 {{ $name }} 50 </div> 51 <div id="right" class="flex items-center gap-2 flex-shrink-0"> 52 <span class="font-bold">{{ $kind }}</span> 53 {{ if .TimeTaken }} 54 {{ template "repo/fragments/duration" .TimeTaken }} 55 {{ else }} 56 {{ template "repo/fragments/shortTimeAgo" $lastStatus.Created }} 57 {{ end }} 58 </div> 59 </div> 60 </a> 61 {{ end }} 62 </div> 63 {{ end }} 64{{ end }} 65 66{{ define "logs" }} 67 <div 68 id="log-stream" 69 class="text-sm" 70 hx-ext="ws" 71 ws-connect="/{{ $.RepoInfo.FullName }}/pipelines/{{ .Pipeline.Id }}/workflow/{{ .Workflow }}/logs"> 72 <div id="lines" class="flex flex-col gap-2"></div> 73 </div> 74{{ end }}