+3
-3
appview/pages/templates/layouts/repobase.html
+3
-3
appview/pages/templates/layouts/repobase.html
···
8
8
class="no-underline hover:underline"
9
9
>{{ .RepoInfo.OwnerWithAt }}</a
10
10
>
11
-
/
11
+
<span class="select-none">/</span>
12
12
<a
13
13
href="/{{ .RepoInfo.FullName }}"
14
14
class="no-underline hover:underline"
···
33
33
{{ $value := index $item 1 }}
34
34
<a
35
35
href="/{{ $.RepoInfo.FullName }}{{ $value }}"
36
-
class="relative -mr-px group no-underline"
36
+
class="relative -mr-px group no-underline hover:no-underline"
37
37
hx-boost="true"
38
38
>
39
39
<div
40
-
class="px-4 py-2 mr-1 text-black min-w-[80px] text-center relative group-hover:bg-gray-200 rounded-t
40
+
class="px-4 py-2 mr-1 text-black min-w-[80px] text-center relative group-hover:bg-gray-200 rounded-t
41
41
{{ if eq $.Active $key }}
42
42
{{ $activeTabStyles }}
43
43
{{ end }}"
+51
-33
appview/pages/templates/layouts/topbar.html
+51
-33
appview/pages/templates/layouts/topbar.html
···
1
1
{{ define "layouts/topbar" }}
2
-
{{ $linkstyle := "text-black hover:text-gray-600 no-underline" }}
3
-
<nav class="space-x-4 mb-4 px-6 py-2 rounded bg-white">
4
-
<div class="container flex justify-between p-0">
5
-
<div id="left-items">
6
-
<a href="/" hx-boost="true" class="{{ $linkstyle }} flex gap-2">
7
-
<i class="w-6 h-6" data-lucide="tangent"></i>
8
-
tangled.sh
9
-
</a>
10
-
</div>
11
-
<div id="right-items" class="flex gap-2">
12
-
{{ with .LoggedInUser }}
13
-
<a href="/repo/new" hx-boost="true" class="{{ $linkstyle }}">
14
-
<i class="w-6 h-6" data-lucide="plus"></i>
15
-
</a>
16
-
<details class="relative inline-block text-left">
17
-
<summary class="{{ $linkstyle }} cursor-pointer list-none">
18
-
{{ didOrHandle .Did .Handle }}
19
-
</summary>
20
-
<div class="absolute flex flex-col right-0 mt-4 p-4 rounded w-48 bg-white border border-gray-200 z-50">
21
-
<a href="/{{ didOrHandle .Did .Handle }}"class="{{ $linkstyle }}">profile</a>
22
-
<a href="/knots"class="{{ $linkstyle }}">knots</a>
23
-
<a href="/settings"class="{{ $linkstyle }}">settings</a>
24
-
<a href="/logout" class="text-red-400 hover:text-red-700 no-underline">logout</a>
25
-
</div>
26
-
</details>
27
-
{{ else }}
28
-
<a href="/login" class="{{ $linkstyle }}">
29
-
login
30
-
</a>
31
-
{{ end }}
32
-
</div>
33
-
</div>
34
-
</nav>
2
+
{{ $linkstyle := "text-black hover:text-gray-600 no-underline" }}
3
+
<nav
4
+
class="space-x-4 mb-4 px-6 py-2 rounded bg-white shadow-[0_4px_10px_-1px_rgba(0,0,0,0.1)]"
5
+
>
6
+
<div class="container flex justify-between p-0">
7
+
<div id="left-items">
8
+
<a href="/" hx-boost="true" class="{{ $linkstyle }} flex gap-2">
9
+
<i class="w-6 h-6" data-lucide="tangent"></i>
10
+
tangled.sh
11
+
</a>
12
+
</div>
13
+
<div id="right-items" class="flex gap-2">
14
+
{{ with .LoggedInUser }}
15
+
<a
16
+
href="/repo/new"
17
+
hx-boost="true"
18
+
class="{{ $linkstyle }}"
19
+
>
20
+
<i class="w-6 h-6" data-lucide="plus"></i>
21
+
</a>
22
+
<details class="relative inline-block text-left">
23
+
<summary
24
+
class="{{ $linkstyle }} cursor-pointer list-none"
25
+
>
26
+
{{ didOrHandle .Did .Handle }}
27
+
</summary>
28
+
<div
29
+
class="absolute flex flex-col right-0 mt-4 p-4 rounded w-48 bg-white border border-gray-200 z-50"
30
+
>
31
+
<a
32
+
href="/{{ didOrHandle .Did .Handle }}"
33
+
class="{{ $linkstyle }}"
34
+
>profile</a
35
+
>
36
+
<a href="/knots" class="{{ $linkstyle }}">knots</a>
37
+
<a href="/settings" class="{{ $linkstyle }}"
38
+
>settings</a
39
+
>
40
+
<a
41
+
href="/logout"
42
+
class="text-red-400 hover:text-red-700 no-underline"
43
+
>logout</a
44
+
>
45
+
</div>
46
+
</details>
47
+
{{ else }}
48
+
<a href="/login" class="{{ $linkstyle }}"> login </a>
49
+
{{ end }}
50
+
</div>
51
+
</div>
52
+
</nav>
35
53
{{ end }}
+1
-1
appview/pages/templates/repo/index.html
+1
-1
appview/pages/templates/repo/index.html
···
38
38
</select>
39
39
<a
40
40
href="/{{ .RepoInfo.FullName }}/commits/{{ .Ref }}"
41
-
class="btn ml-2 no-underline flex items-center gap-2"
41
+
class="ml-2 no-underline flex items-center gap-2 text-sm uppercase font-bold"
42
42
>
43
43
<i class="w-4 h-4" data-lucide="logs"></i>
44
44
{{ .TotalCommits }}
+10
-6
appview/pages/templates/repo/issues/issue.html
+10
-6
appview/pages/templates/repo/issues/issue.html
···
43
43
</div>
44
44
45
45
{{ if .Issue.Body }}
46
-
<article id="body" class="mt-8 border border-gray-300 px-4 py-6">
46
+
<article id="body" class="mt-8">
47
47
{{ .Issue.Body | escapeHtml }}
48
48
</article>
49
49
{{ end }}
50
50
</section>
51
-
52
-
<hr class="my-10" />
51
+
{{ end }}
53
52
53
+
{{ define "repoAfter" }}
54
54
<section id="comments" class="mt-8 space-y-4 relative">
55
55
{{ range $index, $comment := .Comments }}
56
56
<div
57
57
id="comment-{{ .CommentId }}"
58
-
class="border border-gray-200 p-4 relative"
58
+
class="rounded-sm bg-white p-4 relative"
59
59
>
60
-
{{ if ne $index 0 }}
60
+
{{ if eq $index 0 }}
61
61
<div
62
-
class="absolute left-8 -top-4 w-px h-4 bg-gray-200"
62
+
class="absolute left-8 -top-8 w-px h-8 bg-gray-300"
63
+
></div>
64
+
{{ else }}
65
+
<div
66
+
class="absolute left-8 -top-4 w-px h-4 bg-gray-300"
63
67
></div>
64
68
{{ end }}
65
69
<div class="flex items-center gap-2 mb-2">
+38
-9
appview/pages/templates/repo/log.html
+38
-9
appview/pages/templates/repo/log.html
···
1
1
{{ define "title" }}commits · {{ .RepoInfo.FullName }}{{ end }}
2
2
3
3
{{ define "repoContent" }}
4
-
<h1>Commits</h1>
5
-
<h1>Commits</h1>
4
+
<section id="commit-message">
5
+
{{ $commit := index .Commits 0 }}
6
+
{{ $messageParts := splitN $commit.Message "\n\n" 2 }}
7
+
<div>
8
+
<p class="pb-5">{{ index $messageParts 0 }}</p>
9
+
{{ if gt (len $messageParts) 1 }}
10
+
<p class="mt-1 text-sm cursor-text pb-5">
11
+
{{ nl2br (unwrapText (index $messageParts 1)) }}
12
+
</p>
13
+
{{ end }}
14
+
</div>
15
+
16
+
<div class="text-sm text-gray-500">
17
+
<span class="font-mono">
18
+
<a
19
+
href="/{{ $.RepoInfo.FullName }}/commit/{{ $commit.Hash.String }}"
20
+
class="text-gray-500 no-underline hover:underline"
21
+
>{{ slice $commit.Hash.String }}</a
22
+
>
23
+
</span>
24
+
<span class="mx-2 before:content-['·'] before:select-none"></span>
25
+
<span>
26
+
<a
27
+
href="mailto:{{ $commit.Author.Email }}"
28
+
class="text-gray-500 no-underline hover:underline"
29
+
>{{ $commit.Author.Name }}</a
30
+
>
31
+
</span>
32
+
<div
33
+
class="inline-block px-1 select-none after:content-['·']"
34
+
></div>
35
+
<span>{{ timeFmt $commit.Author.When }}</span>
36
+
</div>
37
+
</section>
6
38
{{ end }}
7
39
8
40
{{ define "repoAfter" }}
9
41
<main>
10
-
<div id="commit-log" class="flex-1">
42
+
<div id="commit-log" class="flex-1 relative">
43
+
<div class="absolute left-8 top-0 bottom-0 w-px bg-gray-300"></div>
11
44
{{ range .Commits }}
12
45
<div class="flex flex-row justify-between items-center">
13
-
<i
14
-
class="w-5 h-5 mt-5 text-gray-400 align-middle"
15
-
data-lucide="git-commit-horizontal"
16
-
></i>
17
46
<div
18
-
class="relative w-full px-4 py-4 mt-5 hover:bg-gray-50 border border-gray-200 bg-white"
47
+
class="relative w-full px-4 py-4 mt-5 hover:bg-gray-50 rounded-sm bg-white"
19
48
>
20
49
<div id="commit-message">
21
50
{{ $messageParts := splitN .Message "\n\n" 2 }}
···
51
80
</div>
52
81
</div>
53
82
54
-
<div class="text-xs text-gray-500">
83
+
<div class="text-xs text-gray-500 mt-3">
55
84
<span class="font-mono">
56
85
<a
57
86
href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}"