summaryrefslogtreecommitdiffstats
path: root/templates/user/notification/notification_div.tmpl
blob: 101e4d24e46b8a7481f38e6da1ebe26a274c48d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<div role="main" aria-label="{{.Title}}" class="page-content user notification" id="notification_div" data-params="{{.Page.GetParams}}" data-sequence-number="{{.SequenceNumber}}">
	<div class="ui container">
		<h1 class="ui dividing header">{{.locale.Tr "notification.notifications"}}</h1>
		<div class="ui top attached tabular menu">
			{{$notificationUnreadCount := call .NotificationUnreadCount}}
			<a href="{{AppSubUrl}}/notifications?q=unread" class="{{if eq .Status 1}}active {{end}}item">
				{{.locale.Tr "notification.unread"}}
				<div class="ui label {{if not $notificationUnreadCount}}gt-hidden{{end}}">{{$notificationUnreadCount}}</div>
			</a>
			<a href="{{AppSubUrl}}/notifications?q=read" class="{{if eq .Status 2}}active {{end}}item">
				{{.locale.Tr "notification.read"}}
			</a>
			{{if and (eq .Status 1)}}
				<form action="{{AppSubUrl}}/notifications/purge" method="POST" style="margin-left: auto;">
					{{$.CsrfTokenHtml}}
					<div class="{{if not $notificationUnreadCount}}gt-hidden{{end}}">
						<button class="ui mini button primary" title='{{$.locale.Tr "notification.mark_all_as_read"}}'>
							{{svg "octicon-checklist"}}
						</button>
					</div>
				</form>
			{{end}}
		</div>
		<div class="ui bottom attached active tab segment">
			{{if eq (len .Notifications) 0}}
				{{if eq .Status 1}}
					{{.locale.Tr "notification.no_unread"}}
				{{else}}
					{{.locale.Tr "notification.no_read"}}
				{{end}}
			{{else}}
				<table class="ui unstackable striped very compact small selectable table" id="notification_table">
					<tbody>
						{{range $notification := .Notifications}}
							{{$issue := .Issue}}
							{{$repo := .Repository}}
							<tr id="notification_{{.ID}}">
								<td class="collapsing gt-pl-4">
									{{if eq .Status 3}}
										{{svg "octicon-pin" 16 "text blue"}}
									{{else if not $issue}}
										{{svg "octicon-repo" 16 "text grey"}}
									{{else if $issue.IsPull}}
										{{if $issue.IsClosed}}
											{{if $issue.GetPullRequest.HasMerged}}
												{{svg "octicon-git-merge" 16 "text purple"}}
											{{else}}
												{{svg "octicon-git-pull-request" 16 "text red"}}
											{{end}}
										{{else}}
											{{svg "octicon-git-pull-request" 16 "text green"}}
										{{end}}
									{{else}}
										{{if $issue.IsClosed}}
											{{svg "octicon-issue-closed" 16 "text red"}}
										{{else}}
											{{svg "octicon-issue-opened" 16 "text green"}}
										{{end}}
									{{end}}
								</td>
								<td class="eleven wide">
									<a class="item" href="{{.Link}}">
										{{if $issue}}
											#{{$issue.Index}} - {{$issue.Title}}
										{{else}}
											{{$repo.FullName}}
										{{end}}
									</a>
								</td>
								<td>
									<a class="item" href="{{$repo.Link}}">{{$repo.FullName}}</a>
								</td>
								<td class="collapsing">
									{{if ne .Status 3}}
										<form action="{{AppSubUrl}}/notifications/status" method="POST">
											{{$.CsrfTokenHtml}}
											<input type="hidden" name="notification_id" value="{{.ID}}" />
											<input type="hidden" name="status" value="pinned" />
											<button class="ui mini button" title='{{$.locale.Tr "notification.pin"}}'
												data-url="{{AppSubUrl}}/notifications/status"
												data-status="pinned"
												data-page="{{$.Page.Paginater.Current}}"
												data-notification-id="{{.ID}}"
												data-q="{{$.Keyword}}">
												{{svg "octicon-pin"}}
											</button>
										</form>
									{{end}}
								</td>
								<td class="collapsing">
									{{if or (eq .Status 1) (eq .Status 3)}}
										<form action="{{AppSubUrl}}/notifications/status" method="POST">
											{{$.CsrfTokenHtml}}
											<input type="hidden" name="notification_id" value="{{.ID}}" />
											<input type="hidden" name="status" value="read" />
											<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" />
											<button class="ui mini button" title='{{$.locale.Tr "notification.mark_as_read"}}'
												data-url="{{AppSubUrl}}/notifications/status"
												data-status="read"
												data-page="{{$.Page.Paginater.Current}}"
												data-notification-id="{{.ID}}"
												data-q="{{$.Keyword}}">
												{{svg "octicon-check"}}
											</button>
										</form>
									{{else if eq .Status 2}}
										<form action="{{AppSubUrl}}/notifications/status" method="POST">
											{{$.CsrfTokenHtml}}
											<input type="hidden" name="notification_id" value="{{.ID}}" />
											<input type="hidden" name="status" value="unread" />
											<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" />
											<button class="ui mini button" title='{{$.locale.Tr "notification.mark_as_unread"}}'
												data-url="{{AppSubUrl}}/notifications/status"
												data-status="unread"
												data-page="{{$.Page.Paginater.Current}}"
												data-notification-id="{{.ID}}"
												data-q="{{$.Keyword}}">
												{{svg "octicon-bell"}}
											</button>
										</form>
									{{end}}
								</td>
							</tr>
						{{end}}
					</tbody>
				</table>
			{{end}}
		</div>
		{{template "base/paginate" .}}
	</div>
</div>