+ {{if .Issue}}
+ {{template "issueNotification" .}}
+ {{else if .Pull}}
+ {{template "pullNotification" .}}
+ {{else if .Repo}}
+ {{template "repoNotification" .}}
+ {{else if eq .Type "followed"}}
+ {{template "followNotification" .}}
+ {{else}}
+ {{template "genericNotification" .}}
+ {{end}}
+
+{{end}}
+
+{{define "issueNotification"}}
+{{$url := printf "/%s/%s/issues/%d" (resolve .Repo.Did) .Repo.Name .Issue.IssueId}}
+
+
+
+
+
+ {{if eq .Type "issue_created"}}
+
+ {{ i "circle-dot" "w-4 h-4" }}
+
+ {{else if eq .Type "issue_commented"}}
+
+ {{ i "message-circle" "w-4 h-4" }}
+
+ {{else if eq .Type "issue_closed"}}
+
+ {{ i "ban" "w-4 h-4" }}
+
+ {{end}}
+ {{template "user/fragments/picHandle" (resolve .ActorDid)}}
+ {{if eq .Type "issue_created"}}
+
opened issue
+ {{else if eq .Type "issue_commented"}}
+
commented on issue
+ {{else if eq .Type "issue_closed"}}
+
closed issue
+ {{end}}
+ {{if not .Read}}
+
+ {{end}}
+
+
+
+ #{{.Issue.IssueId}}
+ {{.Issue.Title}}
+ on
+ {{resolve .Repo.Did}}/{{.Repo.Name}}
+
+
+
+
+ {{ template "repo/fragments/time" .Created }}
+
+
+
+{{end}}
+
+{{define "pullNotification"}}
+{{$url := printf "/%s/%s/pulls/%d" (resolve .Repo.Did) .Repo.Name .Pull.PullId}}
+
+
+
+
+ {{if eq .Type "pull_created"}}
+
+ {{ i "git-pull-request-create" "w-4 h-4" }}
+
+ {{else if eq .Type "pull_commented"}}
+
+ {{ i "message-circle" "w-4 h-4" }}
+
+ {{else if eq .Type "pull_merged"}}
+
+ {{ i "git-merge" "w-4 h-4" }}
+
+ {{else if eq .Type "pull_closed"}}
+
+ {{ i "git-pull-request-closed" "w-4 h-4" }}
+
+ {{end}}
+ {{template "user/fragments/picHandle" (resolve .ActorDid)}}
+ {{if eq .Type "pull_created"}}
+
opened pull request
+ {{else if eq .Type "pull_commented"}}
+
commented on pull request
+ {{else if eq .Type "pull_merged"}}
+
merged pull request
+ {{else if eq .Type "pull_closed"}}
+
closed pull request
+ {{end}}
+ {{if not .Read}}
+
+ {{end}}
+
+
+
+ #{{.Pull.PullId}}
+ {{.Pull.Title}}
+ on
+ {{resolve .Repo.Did}}/{{.Repo.Name}}
+
+
+
+
+ {{ template "repo/fragments/time" .Created }}
+
+
+
+{{end}}
+
+{{define "repoNotification"}}
+{{$url := printf "/%s/%s" (resolve .Repo.Did) .Repo.Name}}
+
+
+
+
+ {{ i "star" "w-4 h-4" }}
+
+
+
+
+
+ {{template "user/fragments/picHandle" (resolve .ActorDid)}}
+
starred
+
{{resolve .Repo.Did}}/{{.Repo.Name}}
+ {{if not .Read}}
+
+ {{end}}
+
+
+
+
+
+ {{ template "repo/fragments/time" .Created }}
+
+
+
+{{end}}
+
+{{define "followNotification"}}
+{{$url := printf "/%s" (resolve .ActorDid)}}
+
+
+
+
+ {{ i "user-plus" "w-4 h-4" }}
+
+
+
+
+ {{template "user/fragments/picHandle" (resolve .ActorDid)}}
+
followed you
+ {{if not .Read}}
+
+ {{end}}
+
+
+
+
+
+ {{ template "repo/fragments/time" .Created }}
+
+
+
+{{end}}
+
+{{define "genericNotification"}}
+
+
+
+
+ {{ i "bell" "w-4 h-4" }}
+
+
+
+
+
New notification
+ {{if not .Read}}
+
+ {{end}}
+
+
+
+
+
+ {{ template "repo/fragments/time" .Created }}
+
+
+
+{{end}}
diff --git a/appview/pages/templates/notifications/list.html b/appview/pages/templates/notifications/list.html
new file mode 100644
index 00000000..7362e6db
--- /dev/null
+++ b/appview/pages/templates/notifications/list.html
@@ -0,0 +1,46 @@
+{{ define "title" }}notifications{{ end }}
+
+{{ define "content" }}
+
+ {{if .Notifications}}
+
+ {{range .Notifications}}
+ {{template "notifications/fragments/item" .}}
+ {{end}}
+
+
+ {{if .HasMore}}
+
+
+
+ {{end}}
+ {{else}}
+
+
+ {{ i "bell-off" "w-16 h-16" }}
+
+
No notifications
+
When you receive notifications, they'll appear here.
+
+ {{end}}
+
+{{ end }}
diff --git a/appview/pages/templates/strings/timeline.html b/appview/pages/templates/strings/timeline.html
index dde7e929..fb6b675c 100644
--- a/appview/pages/templates/strings/timeline.html
+++ b/appview/pages/templates/strings/timeline.html
@@ -44,7 +44,7 @@
{{ $stat := .Stats }}
{{ $resolved := resolve .Did.String }}
-
+
{{ template "user/fragments/picHandle" $resolved }}
diff --git a/appview/pages/templates/user/fragments/picHandle.html b/appview/pages/templates/user/fragments/picHandle.html
index a78a5532..dc7a2e3f 100644
--- a/appview/pages/templates/user/fragments/picHandle.html
+++ b/appview/pages/templates/user/fragments/picHandle.html
@@ -2,7 +2,7 @@

{{ . | truncateAt30 }}
{{ end }}
diff --git a/appview/pages/templates/user/fragments/picHandleLink.html b/appview/pages/templates/user/fragments/picHandleLink.html
index e718cb43..686873f9 100644
--- a/appview/pages/templates/user/fragments/picHandleLink.html
+++ b/appview/pages/templates/user/fragments/picHandleLink.html
@@ -1,6 +1,6 @@
{{ define "user/fragments/picHandleLink" }}
{{ $resolved := resolve . }}
-
+
{{ template "user/fragments/picHandle" $resolved }}
{{ end }}
diff --git a/appview/pages/templates/user/settings/notifications.html b/appview/pages/templates/user/settings/notifications.html
new file mode 100644
index 00000000..656ec642
--- /dev/null
+++ b/appview/pages/templates/user/settings/notifications.html
@@ -0,0 +1,173 @@
+{{ define "title" }}{{ .Tab }} settings{{ end }}
+
+{{ define "content" }}
+
+
+
+
+ {{ template "user/settings/fragments/sidebar" . }}
+
+
+ {{ template "notificationSettings" . }}
+
+
+
+{{ end }}
+
+{{ define "notificationSettings" }}
+
+
+
Notification Preferences
+
+ Choose which notifications you want to receive when activity happens on your repositories and profile.
+
+
+
+
+
+{{ end }}