tangled
alpha
login
or
join now
uncenter.dev
/
core
forked from
tangled.org/core
this repo has no description
0
fork
atom
overview
issues
pulls
pipelines
Compare changes
Choose any two refs to compare.
base:
test-markdown-rendering
master
feat/pic-handle-profile-dropdown
feat/datetime-on-hover
v1.6.0-alpha
v1.5.0-alpha
v1.4.0-alpha
v1.3.0-alpha
v1.2.2-alpha
v1.2.1-alpha
v1.2.0-alpha
v1.1.2-alpha
v1.1.1-alpha
v1.1.0-alpha
v1.0.6-alpha
v1.0.5-alpha
v1.0.4-alpha
v1.0.3-alpha
v1.0.2-alpha
v1.0.1-alpha
v1.0.0-alpha
compare:
test-markdown-rendering
master
feat/pic-handle-profile-dropdown
feat/datetime-on-hover
v1.6.0-alpha
v1.5.0-alpha
v1.4.0-alpha
v1.3.0-alpha
v1.2.2-alpha
v1.2.1-alpha
v1.2.0-alpha
v1.1.2-alpha
v1.1.1-alpha
v1.1.0-alpha
v1.0.6-alpha
v1.0.5-alpha
v1.0.4-alpha
v1.0.3-alpha
v1.0.2-alpha
v1.0.1-alpha
v1.0.0-alpha
go
+76
-63
17 changed files
expand all
collapse all
unified
split
appview
pages
pages.go
templates
layouts
topbar.html
repo
commit.html
index.html
issues
fragments
issueComment.html
issue.html
issues.html
log.html
pulls
fragments
pullHeader.html
pullNewComment.html
pull.html
pulls.html
tree.html
timeline.html
user
fragments
picHandle.html
picHandleLink.html
readme.md
+20
-18
appview/pages/pages.go
···
691
691
DidHandleMap map[string]string
692
692
693
693
OrderedReactionKinds []db.ReactionKind
694
694
-
Reactions map[db.ReactionKind]int
695
695
-
UserReacted map[db.ReactionKind]bool
694
694
+
Reactions map[db.ReactionKind]int
695
695
+
UserReacted map[db.ReactionKind]bool
696
696
697
697
State string
698
698
}
699
699
700
700
type ThreadReactionFragmentParams struct {
701
701
ThreadAt syntax.ATURI
702
702
-
Kind db.ReactionKind
703
703
-
Count int
702
702
+
Kind db.ReactionKind
703
703
+
Count int
704
704
IsReacted bool
705
705
}
706
706
···
825
825
}
826
826
827
827
type RepoPullPatchParams struct {
828
828
-
LoggedInUser *oauth.User
829
829
-
DidHandleMap map[string]string
830
830
-
RepoInfo repoinfo.RepoInfo
831
831
-
Pull *db.Pull
832
832
-
Stack db.Stack
833
833
-
Diff *types.NiceDiff
834
834
-
Round int
835
835
-
Submission *db.PullSubmission
828
828
+
LoggedInUser *oauth.User
829
829
+
DidHandleMap map[string]string
830
830
+
RepoInfo repoinfo.RepoInfo
831
831
+
Pull *db.Pull
832
832
+
Stack db.Stack
833
833
+
Diff *types.NiceDiff
834
834
+
Round int
835
835
+
Submission *db.PullSubmission
836
836
+
OrderedReactionKinds []db.ReactionKind
836
837
}
837
838
838
839
// this name is a mouthful
···
841
842
}
842
843
843
844
type RepoPullInterdiffParams struct {
844
844
-
LoggedInUser *oauth.User
845
845
-
DidHandleMap map[string]string
846
846
-
RepoInfo repoinfo.RepoInfo
847
847
-
Pull *db.Pull
848
848
-
Round int
849
849
-
Interdiff *patchutil.InterdiffResult
845
845
+
LoggedInUser *oauth.User
846
846
+
DidHandleMap map[string]string
847
847
+
RepoInfo repoinfo.RepoInfo
848
848
+
Pull *db.Pull
849
849
+
Round int
850
850
+
Interdiff *patchutil.InterdiffResult
851
851
+
OrderedReactionKinds []db.ReactionKind
850
852
}
851
853
852
854
// this name is a mouthful
+4
-3
appview/pages/templates/layouts/topbar.html
···
36
36
{{ define "dropDown" }}
37
37
<details class="relative inline-block text-left">
38
38
<summary
39
39
-
class="cursor-pointer list-none"
39
39
+
class="cursor-pointer list-none flex items-center"
40
40
>
41
41
-
{{ didOrHandle .Did .Handle }}
41
41
+
{{ $user := didOrHandle .Did .Handle }}
42
42
+
{{ template "user/fragments/picHandleLink" $user }}
42
43
</summary>
43
44
<div
44
45
class="absolute flex flex-col right-0 mt-4 p-4 rounded w-48 bg-white dark:bg-gray-800 dark:text-white border border-gray-200 dark:border-gray-700"
45
46
>
46
46
-
<a href="/{{ didOrHandle .Did .Handle }}">profile</a>
47
47
+
<a href="/{{ $user }}">profile</a>
47
48
<a href="/knots">knots</a>
48
49
<a href="/spindles">spindles</a>
49
50
<a href="/settings">settings</a>
+1
-1
appview/pages/templates/repo/commit.html
···
59
59
<div class="flex items-center gap-2 my-2">
60
60
{{ i "user" "w-4 h-4" }}
61
61
{{ $committerDidOrHandle := index $.EmailToDidOrHandle $commit.Committer.Email }}
62
62
-
<a href="/{{ $committerDidOrHandle }}">{{ $committerDidOrHandle }}</a>
62
62
+
<a href="/{{ $committerDidOrHandle }}">{{ template "user/fragments/picHandleLink" $committerDidOrHandle }}</a>
63
63
</div>
64
64
<div class="my-1 pt-2 text-xs border-t">
65
65
<div class="text-gray-600 dark:text-gray-300">SSH Key Fingerprint:</div>
+1
-1
appview/pages/templates/repo/index.html
···
266
266
{{ end }}"
267
267
class="text-gray-500 dark:text-gray-400 no-underline hover:underline"
268
268
>{{ if $didOrHandle }}
269
269
-
{{ $didOrHandle }}
269
269
+
{{ template "user/fragments/picHandleLink" $didOrHandle }}
270
270
{{ else }}
271
271
{{ .Author.Name }}
272
272
{{ end }}</a
+6
-6
appview/pages/templates/repo/issues/fragments/issueComment.html
···
1
1
{{ define "repo/issues/fragments/issueComment" }}
2
2
{{ with .Comment }}
3
3
<div id="comment-container-{{.CommentId}}">
4
4
-
<div class="flex items-center gap-2 mb-2 text-gray-500 dark:text-gray-400 text-sm">
4
4
+
<div class="flex items-center gap-2 mb-2 text-gray-500 dark:text-gray-400 text-sm flex-wrap">
5
5
{{ $owner := index $.DidHandleMap .OwnerDid }}
6
6
-
<a href="/{{ $owner }}" class="no-underline hover:underline">{{ $owner }}</a>
6
6
+
{{ template "user/fragments/picHandleLink" $owner }}
7
7
8
8
<span class="before:content-['ยท']"></span>
9
9
<a
···
18
18
{{ .Created | timeFmt }}
19
19
{{ end }}
20
20
</a>
21
21
-
21
21
+
22
22
<!-- show user "hats" -->
23
23
{{ $isIssueAuthor := eq .OwnerDid $.Issue.OwnerDid }}
24
24
{{ if $isIssueAuthor }}
···
29
29
30
30
{{ $isCommentOwner := and $.LoggedInUser (eq $.LoggedInUser.Did .OwnerDid) }}
31
31
{{ if and $isCommentOwner (not .Deleted) }}
32
32
-
<button
33
33
-
class="btn px-2 py-1 text-sm"
32
32
+
<button
33
33
+
class="btn px-2 py-1 text-sm"
34
34
hx-get="/{{ $.RepoInfo.FullName }}/issues/{{ .Issue }}/comment/{{ .CommentId }}/edit"
35
35
hx-swap="outerHTML"
36
36
hx-target="#comment-container-{{.CommentId}}"
37
37
>
38
38
{{ i "pencil" "w-4 h-4" }}
39
39
</button>
40
40
-
<button
40
40
+
<button
41
41
class="btn px-2 py-1 text-sm text-red-500 flex gap-2 items-center group"
42
42
hx-delete="/{{ $.RepoInfo.FullName }}/issues/{{ .Issue }}/comment/{{ .CommentId }}/"
43
43
hx-confirm="Are you sure you want to delete your comment?"
+2
-2
appview/pages/templates/repo/issues/issue.html
···
33
33
<span class="text-gray-500 dark:text-gray-400 text-sm flex flex-wrap items-center gap-1">
34
34
opened by
35
35
{{ $owner := didOrHandle .Issue.OwnerDid .IssueOwnerHandle }}
36
36
-
{{ template "user/fragments/picHandle" $owner }}
36
36
+
{{ template "user/fragments/picHandleLink" $owner }}
37
37
<span class="select-none before:content-['\00B7']"></span>
38
38
<time title="{{ .Issue.Created | longTimeFmt }}">
39
39
{{ .Issue.Created | timeFmt }}
···
90
90
>
91
91
<div class="bg-white dark:bg-gray-800 rounded drop-shadow-sm py-4 px-4 relative w-full md:w-3/5">
92
92
<div class="text-sm pb-2 text-gray-500 dark:text-gray-400">
93
93
-
{{ didOrHandle .LoggedInUser.Did .LoggedInUser.Handle }}
93
93
+
{{ template "user/fragments/picHandleLink" (didOrHandle .LoggedInUser.Did .LoggedInUser.Handle) }}
94
94
</div>
95
95
<textarea
96
96
id="comment-textarea"
+1
-1
appview/pages/templates/repo/issues/issues.html
···
66
66
67
67
<span class="ml-1">
68
68
{{ $owner := index $.DidHandleMap .OwnerDid }}
69
69
-
{{ template "user/fragments/picHandle" $owner }}
69
69
+
{{ template "user/fragments/picHandleLink" $owner }}
70
70
</span>
71
71
72
72
<span class="before:content-['ยท']">
+2
-2
appview/pages/templates/repo/log.html
···
31
31
<td class=" py-3 align-top">
32
32
{{ $didOrHandle := index $.EmailToDidOrHandle $commit.Author.Email }}
33
33
{{ if $didOrHandle }}
34
34
-
<a href="/{{ $didOrHandle }}" class="text-gray-700 dark:text-gray-300 no-underline hover:underline">{{ $didOrHandle }}</a>
34
34
+
{{ template "user/fragments/picHandleLink" $didOrHandle }}
35
35
{{ else }}
36
36
<a href="mailto:{{ $commit.Author.Email }}" class="text-gray-700 dark:text-gray-300 no-underline hover:underline">{{ $commit.Author.Name }}</a>
37
37
{{ end }}
···
159
159
{{ $didOrHandle := index $.EmailToDidOrHandle $commit.Author.Email }}
160
160
<a href="{{ if $didOrHandle }}/{{ $didOrHandle }}{{ else }}mailto:{{ $commit.Author.Email }}{{ end }}"
161
161
class="text-gray-500 dark:text-gray-400 no-underline hover:underline">
162
162
-
{{ if $didOrHandle }}{{ $didOrHandle }}{{ else }}{{ $commit.Author.Name }}{{ end }}
162
162
+
{{ if $didOrHandle }}{{ template "user/fragments/picHandleLink" $didOrHandle }}{{ else }}{{ $commit.Author.Name }}{{ end }}
163
163
</a>
164
164
</span>
165
165
<div class="inline-block px-1 select-none after:content-['ยท']"></div>
+5
-3
appview/pages/templates/repo/pulls/fragments/pullHeader.html
···
29
29
<span class="text-gray-500 dark:text-gray-400 text-sm flex flex-wrap items-center gap-1">
30
30
opened by
31
31
{{ $owner := index $.DidHandleMap .Pull.OwnerDid }}
32
32
-
{{ template "user/fragments/picHandle" $owner }}
32
32
+
{{ template "user/fragments/picHandleLink" $owner }}
33
33
<span class="select-none before:content-['\00B7']"></span>
34
34
<time>{{ .Pull.Created | timeFmt }}</time>
35
35
···
62
62
</article>
63
63
{{ end }}
64
64
65
65
+
{{ with .OrderedReactionKinds }}
65
66
<div class="flex items-center gap-2 mt-2">
66
66
-
{{ template "repo/fragments/reactionsPopUp" .OrderedReactionKinds }}
67
67
-
{{ range $kind := .OrderedReactionKinds }}
67
67
+
{{ template "repo/fragments/reactionsPopUp" . }}
68
68
+
{{ range $kind := . }}
68
69
{{
69
70
template "repo/fragments/reaction"
70
71
(dict
···
75
76
}}
76
77
{{ end }}
77
78
</div>
79
79
+
{{ end }}
78
80
</section>
79
81
80
82
+3
-4
appview/pages/templates/repo/pulls/fragments/pullNewComment.html
···
1
1
{{ define "repo/pulls/fragments/pullNewComment" }}
2
2
-
<div
3
3
-
id="pull-comment-card-{{ .RoundNumber }}"
2
2
+
<div
3
3
+
id="pull-comment-card-{{ .RoundNumber }}"
4
4
class="bg-white dark:bg-gray-800 rounded drop-shadow-sm p-4 relative w-full flex flex-col gap-2">
5
5
<div class="text-sm text-gray-500 dark:text-gray-400">
6
6
-
{{ didOrHandle .LoggedInUser.Did .LoggedInUser.Handle }}
6
6
+
{{ template "user/fragments/picHandleLink" (didOrHandle .LoggedInUser.Did .LoggedInUser.Handle) }}
7
7
</div>
8
8
<form
9
9
hx-post="/{{ .RepoInfo.FullName }}/pulls/{{ .Pull.PullId }}/round/{{ .RoundNumber }}/comment"
···
38
38
</form>
39
39
</div>
40
40
{{ end }}
41
41
-
+7
-7
appview/pages/templates/repo/pulls/pull.html
···
5
5
{{ define "extrameta" }}
6
6
{{ $title := printf "%s · pull #%d · %s" .Pull.Title .Pull.PullId .RepoInfo.FullName }}
7
7
{{ $url := printf "https://tangled.sh/%s/pulls/%d" .RepoInfo.FullName .Pull.PullId }}
8
8
-
8
8
+
9
9
{{ template "repo/fragments/og" (dict "RepoInfo" .RepoInfo "Title" $title "Url" $url) }}
10
10
{{ end }}
11
11
···
46
46
</div>
47
47
<!-- round summary -->
48
48
<div class="rounded drop-shadow-sm bg-white dark:bg-gray-800 p-2 text-gray-500 dark:text-gray-400">
49
49
-
<span>
49
49
+
<span class="gap-1 flex items-center">
50
50
{{ $owner := index $.DidHandleMap $.Pull.OwnerDid }}
51
51
{{ $re := "re" }}
52
52
{{ if eq .RoundNumber 0 }}
53
53
{{ $re = "" }}
54
54
{{ end }}
55
55
<span class="hidden md:inline">{{$re}}submitted</span>
56
56
-
by <a href="/{{ $owner }}">{{ $owner }}</a>
56
56
+
by {{ template "user/fragments/picHandleLink" $owner }}
57
57
<span class="select-none before:content-['\00B7']"></span>
58
58
<a class="text-gray-500 dark:text-gray-400 hover:text-gray-500" href="#round-#{{ .RoundNumber }}"><time>{{ .Created | shortTimeFmt }}</time></a>
59
59
<span class="select-none before:content-['ยท']"></span>
···
68
68
<a class="btn flex items-center gap-2 no-underline hover:no-underline p-2 group"
69
69
hx-boost="true"
70
70
href="/{{ $.RepoInfo.FullName }}/pulls/{{ $.Pull.PullId }}/round/{{.RoundNumber}}">
71
71
-
{{ i "file-diff" "w-4 h-4" }}
71
71
+
{{ i "file-diff" "w-4 h-4" }}
72
72
<span class="hidden md:inline">diff</span>
73
73
{{ i "loader-circle" "w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }}
74
74
</a>
···
150
150
{{ if gt $cidx 0 }}
151
151
<div class="absolute left-8 -top-2 w-px h-2 bg-gray-300 dark:bg-gray-600"></div>
152
152
{{ end }}
153
153
-
<div class="text-sm text-gray-500 dark:text-gray-400">
154
154
-
{{ $owner := index $.DidHandleMap $c.OwnerDid }}
155
155
-
<a href="/{{$owner}}">{{$owner}}</a>
153
153
+
<div class="text-sm text-gray-500 dark:text-gray-400 flex items-center gap-1">
154
154
+
{{ $owner := index $.DidHandleMap $c.OwnerDid }}
155
155
+
{{ template "user/fragments/picHandleLink" $owner }}
156
156
<span class="before:content-['ยท']"></span>
157
157
<a class="text-gray-500 dark:text-gray-400 hover:text-gray-500 dark:hover:text-gray-300" href="#comment-{{.ID}}"><time>{{ $c.Created | shortTimeFmt }}</time></a>
158
158
</div>
+1
-1
appview/pages/templates/repo/pulls/pulls.html
···
76
76
</span>
77
77
78
78
<span class="ml-1">
79
79
-
{{ template "user/fragments/picHandle" $owner }}
79
79
+
{{ template "user/fragments/picHandleLink" $owner }}
80
80
</span>
81
81
82
82
<span>
+7
-1
appview/pages/templates/repo/tree.html
···
11
11
{{ template "repo/fragments/meta" . }}
12
12
{{ $title := printf "%s at %s · %s" $path .Ref .RepoInfo.FullName }}
13
13
{{ $url := printf "https://tangled.sh/%s/tree/%s%s" .RepoInfo.FullName .Ref $path }}
14
14
-
14
14
+
15
15
{{ template "repo/fragments/og" (dict "RepoInfo" .RepoInfo "Title" $title "Url" $url) }}
16
16
{{ end }}
17
17
···
63
63
</div>
64
64
</a>
65
65
{{ if .LastCommit}}
66
66
+
<div class="flex items-end gap-2">
67
67
+
<span class="text text-gray-500 dark:text-gray-400 mr-6">{{ .LastCommit.Message }}</span>
66
68
<time class="text-xs text-gray-500 dark:text-gray-400">{{ timeFmt .LastCommit.When }}</time>
69
69
+
</div>
67
70
{{ end }}
68
71
</div>
69
72
</div>
···
80
83
</div>
81
84
</a>
82
85
{{ if .LastCommit}}
86
86
+
<div class="flex items-end gap-2">
87
87
+
<span class="text text-gray-500 dark:text-gray-400 mr-6">{{ .LastCommit.Message }}</span>
83
88
<time class="text-xs text-gray-500 dark:text-gray-400">{{ timeFmt .LastCommit.When }}</time>
89
89
+
</div>
84
90
{{ end }}
85
91
</div>
86
92
</div>
+4
-4
appview/pages/templates/timeline.html
···
61
61
{{ $userHandle := index $.DidHandleMap .Repo.Did }}
62
62
<div class="flex items-center">
63
63
<p class="text-gray-600 dark:text-gray-300 flex flex-wrap items-center gap-2">
64
64
-
{{ template "user/fragments/picHandle" $userHandle }}
64
64
+
{{ template "user/fragments/picHandleLink" $userHandle }}
65
65
{{ if .Source }}
66
66
forked
67
67
<a
···
95
95
{{ $subjectHandle := index $.DidHandleMap .Follow.SubjectDid }}
96
96
<div class="flex items-center">
97
97
<p class="text-gray-600 dark:text-gray-300 flex flex-wrap items-center gap-2">
98
98
-
{{ template "user/fragments/picHandle" $userHandle }}
98
98
+
{{ template "user/fragments/picHandleLink" $userHandle }}
99
99
followed
100
100
-
{{ template "user/fragments/picHandle" $subjectHandle }}
100
100
+
{{ template "user/fragments/picHandleLink" $subjectHandle }}
101
101
<time
102
102
class="text-gray-700 dark:text-gray-400 text-xs"
103
103
>{{ .Follow.FollowedAt | timeFmt }}</time
···
109
109
{{ $repoOwnerHandle := index $.DidHandleMap .Star.Repo.Did }}
110
110
<div class="flex items-center">
111
111
<p class="text-gray-600 dark:text-gray-300 flex flex-wrap items-center gap-2">
112
112
-
{{ template "user/fragments/picHandle" $starrerHandle }}
112
112
+
{{ template "user/fragments/picHandleLink" $starrerHandle }}
113
113
starred
114
114
<a
115
115
href="/{{ $repoOwnerHandle }}/{{ .Star.Repo.Name }}"
+6
-8
appview/pages/templates/user/fragments/picHandle.html
···
1
1
{{ define "user/fragments/picHandle" }}
2
2
-
<a href="/{{ . }}" class="flex items-center">
3
3
-
<img
4
4
-
src="{{ tinyAvatar . }}"
5
5
-
alt="{{ . }}"
6
6
-
class="rounded-full h-6 w-6 mr-1 border border-gray-300 dark:border-gray-700"
7
7
-
/>
8
8
-
{{ . | truncateAt30 }}
9
9
-
</a>
2
2
+
<img
3
3
+
src="{{ tinyAvatar . }}"
4
4
+
alt="{{ . }}"
5
5
+
class="rounded-full h-6 w-6 mr-1 border border-gray-300 dark:border-gray-700"
6
6
+
/>
7
7
+
{{ . | truncateAt30 }}
10
8
{{ end }}
+5
appview/pages/templates/user/fragments/picHandleLink.html
···
1
1
+
{{ define "user/fragments/picHandleLink" }}
2
2
+
<a href="/{{ . }}" class="flex items-center">
3
3
+
{{ template "user/fragments/picHandle" . }}
4
4
+
</a>
5
5
+
{{ end }}
+1
-1
readme.md
···
1
1
-
# tangled
1
1
+
<div align="center"><h1>tangled</h1></div>
2
2
3
3
Hello Tanglers! This is the codebase for
4
4
[Tangled](https://tangled.sh)—a code collaboration platform built