forked from tangled.org/core
Monorepo for Tangled — https://tangled.org
1{{ define "repo/fragments/interdiff" }} 2{{ $repo := index . 0 }} 3{{ $x := index . 1 }} 4{{ $opts := index . 2 }} 5{{ $fileTree := fileTree $x.AffectedFiles }} 6{{ $diff := $x.Files }} 7{{ $last := sub (len $diff) 1 }} 8{{ $isSplit := $opts.Split }} 9 10<div class="flex flex-col gap-4"> 11 {{ range $idx, $hunk := $diff }} 12 {{ with $hunk }} 13 <details {{ if not (.Status.IsOnlyInOne) }}open{{end}} id="file-{{ .Name }}" class="border border-gray-200 dark:border-gray-700 w-full mx-auto rounded bg-white dark:bg-gray-800 drop-shadow-sm"> 14 <summary class="list-none cursor-pointer sticky top-0"> 15 <div id="diff-file-header" class="rounded cursor-pointer bg-white dark:bg-gray-800 flex justify-between"> 16 <div id="left-side-items" class="p-2 flex gap-2 items-center overflow-x-auto"> 17 <div class="flex gap-1 items-center" style="direction: ltr;"> 18 {{ $markerstyle := "diff-type p-1 mr-1 font-mono text-sm rounded select-none" }} 19 {{ if .Status.IsOk }} 20 <span class="bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300 {{ $markerstyle }}">CHANGED</span> 21 {{ else if .Status.IsUnchanged }} 22 <span class="bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-300 {{ $markerstyle }}">UNCHANGED</span> 23 {{ else if .Status.IsOnlyInOne }} 24 <span class="bg-red-100 text-red-700 dark:bg-red-800/50 dark:text-red-400 {{ $markerstyle }}">REVERTED</span> 25 {{ else if .Status.IsOnlyInTwo }} 26 <span class="bg-green-100 text-green-700 dark:bg-green-800/50 dark:text-green-400 {{ $markerstyle }}">NEW</span> 27 {{ else if .Status.IsRebased }} 28 <span class="bg-amber-100 text-amber-700 dark:bg-amber-800/50 dark:text-amber-400 {{ $markerstyle }}">REBASED</span> 29 {{ else }} 30 <span class="bg-red-100 text-red-700 dark:bg-red-800/50 dark:text-red-400 {{ $markerstyle }}">ERROR</span> 31 {{ end }} 32 </div> 33 34 <div class="flex gap-2 items-center overflow-x-auto" style="direction: rtl;">{{ .Name }}</div> 35 </div> 36 37 </div> 38 </summary> 39 40 <div class="transition-all duration-700 ease-in-out"> 41 {{ if .Status.IsUnchanged }} 42 <p class="text-center text-gray-400 dark:text-gray-500 p-4"> 43 This file has not been changed. 44 </p> 45 {{ else if .Status.IsRebased }} 46 <p class="text-center text-gray-400 dark:text-gray-500 p-4"> 47 This patch was likely rebased, as context lines do not match. 48 </p> 49 {{ else if .Status.IsError }} 50 <p class="text-center text-gray-400 dark:text-gray-500 p-4"> 51 Failed to calculate interdiff for this file. 52 </p> 53 {{ else }} 54 {{ if $isSplit }} 55 {{- template "repo/fragments/splitDiff" .Split -}} 56 {{ else }} 57 {{- template "repo/fragments/unifiedDiff" . -}} 58 {{ end }} 59 {{- end -}} 60 </div> 61 62 </details> 63 {{ end }} 64 {{ end }} 65</div> 66{{ end }} 67