tangled
alpha
login
or
join now
camsmith.dev
/
core
forked from
tangled.org/core
Monorepo for Tangled — https://tangled.org
0
fork
atom
overview
issues
pulls
pipelines
improve commit page styles
oppi.li
11 months ago
5c0ec94e
8a6e5cdc
+57
-45
7 changed files
expand all
collapse all
unified
split
appview
pages
pages.go
templates
layouts
base.html
repobase.html
repo
blob.html
commit.html
index.html
jetstream
jetstream.go
+4
-2
appview/pages/pages.go
···
74
74
"splitN": func(s, sep string, n int) []string {
75
75
return strings.SplitN(s, sep, n)
76
76
},
77
77
-
"unescapeHtml": func(s string) template.HTML {
78
78
-
return template.HTML(s)
77
77
+
"escapeHtml": func(s string) string {
78
78
+
return template.HTMLEscapeString(s)
79
79
},
80
80
"nl2br": func(text string) template.HTML {
81
81
return template.HTML(strings.Replace(template.HTMLEscapeString(text), "\n", "<br>", -1))
···
269
269
type RepoCommitParams struct {
270
270
LoggedInUser *auth.User
271
271
RepoInfo RepoInfo
272
272
+
Active string
272
273
types.RepoCommitResponse
273
274
}
274
275
275
276
func (p *Pages) RepoCommit(w io.Writer, params RepoCommitParams) error {
277
277
+
params.Active = "overview"
276
278
return p.executeRepo("repo/commit", w, params)
277
279
}
278
280
+5
-5
appview/pages/templates/layouts/base.html
···
12
12
<title>{{ block "title" . }}tangled{{ end }}</title>
13
13
</head>
14
14
<body class="container mx-auto px-10">
15
15
-
<header>
16
16
-
{{ block "topbar" . }}
17
17
-
{{ template "layouts/topbar" . }}
18
18
-
{{ end }}
19
19
-
</header>
15
15
+
<header>
16
16
+
{{ block "topbar" . }}
17
17
+
{{ template "layouts/topbar" . }}
18
18
+
{{ end }}
19
19
+
</header>
20
20
<main class="content">{{ block "content" . }}{{ end }}</main>
21
21
<script src="/static/lucide.min.js"></script>
22
22
<script>
+5
-2
appview/pages/templates/layouts/repobase.html
···
2
2
3
3
{{ define "content" }}
4
4
<section id="repo-header" class="mb-4">
5
5
-
<span class="text-xl">{{ .RepoInfo.FullName }}</span>
6
6
-
<br/>
5
5
+
<p class="text-xl">
6
6
+
<a href="/{{ .RepoInfo.OwnerWithAt }}" class="no-underline hover:underline">{{ .RepoInfo.OwnerWithAt }}</a>
7
7
+
/
8
8
+
<a href="/{{ .RepoInfo.FullName }}" class="no-underline hover:underline">{{ .RepoInfo.Name }}</a>
9
9
+
</p>
7
10
<span>
8
11
{{ if .RepoInfo.Description }}
9
12
{{ .RepoInfo.Description }}
+1
-1
appview/pages/templates/repo/blob.html
···
18
18
{{ if .IsBinary }}<p class="text-center text-gray-400">This is a binary file and will not be displayed.</p>{{ else }}
19
19
<pre class="font-mono text-sm overflow-auto relative text-ellipsis"><code>{{ range $idx, $line := $lines }}<span class="flex">
20
20
<span class="{{ $code_number_style }}" style="min-width: {{$tot_chars}}ch;">{{ add $idx 1 }}</span>
21
21
-
<span class="whitespace-pre">{{ unescapeHtml $line }}</span></span>{{ else }}<em class="text-gray-400">this file is empty</em>{{ end }}</code></pre>{{ end}}
21
21
+
<span class="whitespace-pre">{{ escapeHtml $line }}</span></span>{{ else }}<em class="text-gray-400">this file is empty</em>{{ end }}</code></pre>{{ end}}
22
22
{{ end }}
+33
-33
appview/pages/templates/repo/commit.html
···
8
8
{{ $diff := .Diff.Diff }}
9
9
10
10
<section class="commit">
11
11
-
<pre>{{- $commit.Message -}}</pre>
12
12
-
<div class="commit-info">
13
13
-
{{ $commit.Author.Name }} <a href="mailto:{{ $commit.Author.Email }}" class="commit-email">{{ $commit.Author.Email}}</a>
14
14
-
<div>{{ $commit.Author.When.Format "Mon, 02 Jan 2006 15:04:05 -0700" }}</div>
11
11
+
<div id="commit-message">
12
12
+
{{ $messageParts := splitN $commit.Message "\n\n" 2 }}
13
13
+
<div>
14
14
+
{{ index $messageParts 0 }}
15
15
+
{{ if gt (len $messageParts) 1 }}
16
16
+
<p class="mt-1 cursor-text pb-2">{{ nl2br (unwrapText (index $messageParts 1)) }}</p>
17
17
+
{{ end }}
18
18
+
</div>
15
19
</div>
16
20
17
17
-
<div>
18
18
-
<strong>commit</strong>
19
19
-
<p><a href="/{{ $repo }}/commit/{{ $commit.This }}" class="commit-hash">
20
20
-
{{ slice $commit.This 0 8 }}
21
21
-
</a>
21
21
+
<p class="text-sm text-gray-500">
22
22
+
<a href="mailto:{{ $commit.Author.Email }}" class="no-underline hover:underline text-gray-500">
23
23
+
{{ $commit.Author.Name }}
24
24
+
</a>
25
25
+
·
26
26
+
{{ timeFmt $commit.Author.When }}
27
27
+
·
28
28
+
<span class="font-mono">{{ $stat.FilesChanged }}</span> files <span class="font-mono">(+{{ $stat.Insertions }}, -{{ $stat.Deletions }})</span>
29
29
+
·
30
30
+
<a href="/{{ $repo }}/commit/{{ $commit.This }}" class="no-underline hover:underline text-gray-500">
31
31
+
{{ slice $commit.This 0 8 }}
32
32
+
</a>
33
33
+
{{ if $commit.Parent }}
34
34
+
<--
35
35
+
<a href="/{{ $repo }}/commit/{{ $commit.Parent }}" class="no-underline hover:underline text-gray-500">
36
36
+
{{ slice $commit.Parent 0 8 }}
37
37
+
</a>
38
38
+
{{ end }}
22
39
</p>
23
23
-
</div>
24
40
25
25
-
{{ if $commit.Parent }}
26
26
-
<div>
27
27
-
<strong>parent</strong>
28
28
-
<p><a href="/{{ $repo }}/commit/{{ $commit.Parent }}" class="commit-hash">
29
29
-
{{ slice $commit.Parent 0 8 }}
30
30
-
</a></p>
31
31
-
</div>
32
32
-
33
33
-
{{ end }}
34
41
<div class="diff-stat">
35
35
-
<div>
36
36
-
{{ $stat.FilesChanged }} files changed,
37
37
-
{{ $stat.Insertions }} insertions(+),
38
38
-
{{ $stat.Deletions }} deletions(-)
39
39
-
</div>
40
40
-
<div>
41
41
-
<br>
42
42
-
<strong>jump to</strong>
43
43
-
{{ range $diff }}
44
44
-
<ul>
42
42
+
<br>
43
43
+
<strong>jump to</strong>
44
44
+
{{ range $diff }}
45
45
+
<ul>
45
46
<li><a href="#{{ .Name.New }}">{{ .Name.New }}</a></li>
46
46
-
</ul>
47
47
-
{{ end }}
48
48
-
</div>
47
47
+
</ul>
48
48
+
{{ end }}
49
49
</div>
50
50
</section>
51
51
<section>
···
75
75
{{ if .IsBinary }}
76
76
<p>Not showing binary file.</p>
77
77
{{ else }}
78
78
-
<pre>
78
78
+
<pre class="overflow-auto">
79
79
{{- range .TextFragments -}}
80
80
<p>{{- .Header -}}</p>
81
81
{{- range .Lines -}}
+1
-1
appview/pages/templates/repo/index.html
···
101
101
<div class="text-base cursor-pointer">
102
102
<div>
103
103
<div class="flex items-center gap-1">
104
104
-
<a href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}" class="inline no-underline hover:underline hover:text-sky-400">{{ index $messageParts 0 }}</a>
104
104
+
<a href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}" class="inline no-underline hover:underline">{{ index $messageParts 0 }}</a>
105
105
{{ if gt (len $messageParts) 1 }}
106
106
<button class="text-sm inline rounded-sm bg-gray-300 text-gray-700 px-1 w-fit hover:bg-gray-400"
107
107
hx-on:click="this.parentElement.nextElementSibling.classList.toggle('hidden')">…</button>
+8
-1
jetstream/jetstream.go
···
29
29
}
30
30
31
31
func (j *JetstreamClient) AddDid(did string) {
32
32
+
if did == "" {
33
33
+
return
34
34
+
}
32
35
j.mu.Lock()
33
36
j.cfg.WantedDids = append(j.cfg.WantedDids, did)
34
37
j.mu.Unlock()
···
37
40
38
41
func (j *JetstreamClient) UpdateDids(dids []string) {
39
42
j.mu.Lock()
40
40
-
j.cfg.WantedDids = dids
43
43
+
for _, did := range dids {
44
44
+
if did != "" {
45
45
+
}
46
46
+
j.cfg.WantedDids = append(j.cfg.WantedDids, did)
47
47
+
}
41
48
j.mu.Unlock()
42
49
j.reconnectCh <- struct{}{}
43
50
}