this repo has no description
1{{ define "repoContent" }} 2 <main> 3 {{- if .IsEmpty }} 4 this repo is empty 5 {{ else }} 6 <div class="flex gap-4"> 7 <div id="file-tree" class="w-1/2"> 8 {{ $containerstyle := "py-1" }} 9 {{ $linkstyle := "no-underline hover:underline" }} 10 11 12 <div class="flex justify-end"> 13 <select 14 hx-get="/{{ .RepoInfo.FullName }}/tree/" 15 hx-on::config-request = "event.detail.path += this.value" 16 hx-trigger="change" 17 hx-target="#repo-content" 18 hx-select="#repo-content" 19 hx-push-url="true" 20 class="p-1 border border-gray-500 bg-white" 21 > 22 <optgroup label="branches" class="font-semibold"> 23 {{ range .Branches }} 24 <option 25 value="{{ .Reference.Name }}" 26 class="py-1" 27 > 28 {{ .Reference.Name }} 29 </option> 30 {{ end }} 31 </optgroup> 32 <optgroup label="tags" class="font-semibold"> 33 {{ range .Tags }} 34 <option 35 value="{{ .Reference.Name }}" 36 class="py-1" 37 > 38 {{ .Reference.Name }} 39 </option> 40 {{ end }} 41 </optgroup> 42 </select> 43 </div> 44 45 <section id="repo-content"> 46 {{ range .Files }} 47 {{ if not .IsFile }} 48 <div class="{{ $containerstyle }}"> 49 <a 50 href="/{{ $.RepoInfo.FullName }}/tree/{{ $.Ref }}/{{ .Name }}" 51 class="{{ $linkstyle }}" 52 > 53 <div class="flex items-center gap-2"> 54 <i 55 class="w-3 h-3 fill-current" 56 data-lucide="folder" 57 ></i 58 >{{ .Name }}/ 59 </div> 60 </a> 61 </div> 62 {{ end }} 63 {{ end }} 64 65 {{ range .Files }} 66 {{ if .IsFile }} 67 <div class="{{ $containerstyle }}"> 68 <a 69 href="/{{ $.RepoInfo.FullName }}/blob/{{ $.Ref }}/{{ .Name }}" 70 class="{{ $linkstyle }}" 71 > 72 <div class="flex items-center gap-2"> 73 <i 74 class="w-3 h-3" 75 data-lucide="file" 76 ></i 77 >{{ .Name }} 78 </div> 79 </a> 80 </div> 81 {{ end }} 82 {{ end }} 83 </div> 84 <div id="commit-log" class="flex-1"> 85 {{ range .Commits }} 86 <div 87 class="relative 88 px-4 89 py-4 90 border-l 91 border-black 92 before:content-[''] 93 before:absolute 94 before:w-1 95 before:h-1 96 before:bg-black 97 before:rounded-full 98 before:left-[-2.2px] 99 before:top-1/2 100 before:-translate-y-1/2 101 "> 102 103 <div id="commit-message"> 104 {{ $messageParts := splitN .Message "\n\n" 2 }} 105 <div class="text-base cursor-pointer"> 106 {{ index $messageParts 0 }} 107 {{ if gt (len $messageParts) 1 }} 108 <div class="text-sm inline rounded-sm bg-gray-300 text-gray-700 px-1" 109 hx-on:click="this.nextElementSibling.classList.toggle('hidden')">...</div> 110 <div class="hidden mt-1 text-sm">{{ index $messageParts 1 }}</div> 111 {{ end }} 112 </div> 113 </div> 114 115 <div class="text-xs text-gray-500"> 116 <span class="font-mono"> 117 <a 118 href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}" 119 class="text-gray-500 no-underline hover:underline" 120 >{{ slice .Hash.String 0 8 }}</a 121 > 122 </span> 123 &nbsp;·&nbsp; 124 <span> 125 <a 126 href="mailto:{{ .Author.Email }}" 127 class="text-gray-500 no-underline hover:underline" 128 >{{ .Author.Name }}</a 129 > 130 </span> 131 &nbsp;·&nbsp; 132 <span>{{ timeFmt .Author.When }}</span> 133 </div> 134 </div> 135 {{ end }} 136 </div> 137 </div> 138 </section> 139 {{- if .Readme }} 140 <article class="readme"> 141 {{- .Readme -}} 142 </article> 143 {{- end -}} 144 {{- end -}} 145 146 147 <div class="clone-url"> 148 <strong>clone</strong> 149 <pre> 150git clone https://tangled.sh/{{ .RepoInfo.OwnerWithAt }}/{{ .RepoInfo.Name }} 151 </pre 152 > 153 </div> 154 </main> 155{{ end }}