all repos

mugit @ 3a70e61

๐Ÿฎ git server that your cow will love

mugit/web/templates/_diff_partials.html (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
feat: compare refs (#9)..., 1 month ago
1
{{ define "_diff_type" }}
2
{{ if .IsNew }}<span class="diff-type diff-add">A</span>
3
{{ else if .IsDelete }}<span class="diff-type diff-del">D</span>
4
{{ else }}<span class="diff-type diff-mod">M</span>{{ end }}
5
{{ end }}
6
7
{{ define "_diff_stat" }}
8
<div class="commit-refs">
9
  <span class="diff-mod">{{ .FilesChanged }} files changed</span>,
10
  <span class="diff-add">{{ .Insertions }} insertions(+)</span>,
11
  <span class="diff-del">{{ .Deletions }} deletions(-)</span>
12
</div>
13
{{ end }}
14
15
{{ define "_diff_table" }}
16
{{ if gt (len .) 1 -}}
17
<div class="jump">
18
  <strong>jump to</strong>
19
  <table class="table jump-table">
20
    <tbody>
21
      {{ range . }}
22
      {{ $anchor := .Name.New }}
23
      {{ if not $anchor }}{{ $anchor = .Name.Old }}{{ end }}
24
      <tr>
25
        <td class="mono">{{ template "_diff_type" . }}</td>
26
        <td class="fill">
27
          <a href="#{{ $anchor }}">
28
            {{ if .IsRename }}{{ .Name.Old }} &#8594; {{ .Name.New }}
29
            {{ else }}{{ $anchor }}{{ end }}
30
          </a>
31
        </td>
32
      </tr>
33
      {{ end }}
34
    </tbody>
35
  </table>
36
</div>
37
{{ end }}
38
{{ end }}
39
40
{{ define "_diff_files" }}
41
{{ $repo := .Repo }}
42
{{ $leftHash := .LeftHash }}
43
{{ $rightHash := .RightHash }}
44
{{ range .Diff }}
45
{{ $anchor := .Name.New }}
46
{{ if not $anchor }}{{ $anchor = .Name.Old }}{{ end }}
47
<div id="{{ $anchor }}">
48
  <div class="diff">
49
    {{ template "_diff_type" . }}
50
51
    {{ $primaryName := .Name.New }}
52
    {{ $primaryHash := $rightHash }}
53
    {{ if or .IsDelete .IsRename }}
54
    {{ $primaryName = .Name.Old }}
55
    {{ $primaryHash = $leftHash }}
56
    {{ end }}
57
58
    {{ if $primaryHash }}<a href="/{{ $repo }}/blob/{{ $primaryHash }}/{{ $primaryName }}">{{ $primaryName }}</a>{{ else }}{{ $primaryName }}{{ end }}
59
    {{ if .IsRename }} &#8594; <a href="/{{ $repo }}/blob/{{ $rightHash }}/{{ .Name.New }}">{{ .Name.New }}</a>{{ end }}
60
61
    {{ if .IsBinary }}
62
    <p>Not showing binary file.</p>
63
    {{ else }}
64
    <pre>
65
      {{- range .TextFragments -}}
66
      <span class="diff-line diff-noop diff-separator">ยทยทยท</span>
67
      {{- $o := .OldPosition -}}
68
      {{- $n := .NewPosition -}}
69
      {{- range .Lines -}}
70
      {{- $op := .Op.String -}}
71
72
      {{- if eq $op "+" -}}
73
      <span class="diff-line diff-add" id="{{ $anchor }}-N{{ $n }}">
74
        <span class="line-number"></span>
75
        <a class="line-number" href="#{{ $anchor }}-N{{ $n }}">{{ $n }}</a>
76
        <span><span class="diff-op">{{ $op }}</span>{{ .Line }}</span>
77
      </span>
78
      {{- $n = inc64 $n -}}
79
80
      {{- else if eq $op "-" -}}
81
      <span class="diff-line diff-del" id="{{ $anchor }}-O{{ $o }}">
82
        <a class="line-number" href="#{{ $anchor }}-O{{ $o }}">{{ $o }}</a>
83
        <span class="line-number"></span>
84
        <span><span class="diff-op">{{ $op }}</span>{{ .Line }}</span>
85
      </span>
86
      {{- $o = inc64 $o -}}
87
88
      {{- else -}}
89
      <span class="diff-line diff-noop" id="{{ $anchor }}-L{{ $o }}">
90
        <a class="line-number" href="#{{ $anchor }}-L{{ $o }}">{{ $o }}</a>
91
        <a class="line-number" href="#{{ $anchor }}-L{{ $o }}">{{ $n }}</a>
92
        <span><span class="diff-op">{{ $op }}</span>{{ .Line }}</span>
93
      </span>
94
      {{- $o = inc64 $o -}}
95
      {{- $n = inc64 $n -}}
96
      {{- end -}}
97
98
      {{- end -}}
99
      {{- end -}}
100
    </pre>
101
    {{ end }}
102
  </div>
103
</div>
104
{{ end }}
105
{{ end }}