summaryrefslogtreecommitdiffstats
path: root/templates/user/notification/notification_div.tmpl
blob: 2f25e733877d3a3df48a8b06192ec3b116cfea8b (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
<div class="page-content user notification" id="notification_div" data-params="{{.Page.GetParams}}">
	<div class="ui container">
		<h1 class="ui dividing header">{{.i18n.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">
                {{.i18n.Tr "notification.unread"}}
                <div class="ui label {{if not $notificationUnreadCount}}hidden{{end}}">{{$notificationUnreadCount}}</div>
            </a>
            <a href="{{AppSubUrl}}/notifications?q=read" class="{{if eq .Status 2}}active{{end}} item">
                {{.i18n.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}}hide{{end}}">
                        <button class="ui mini button primary" title='{{$.i18n.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}}
                    {{.i18n.Tr "notification.no_unread"}}
                {{else}}
                    {{.i18n.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}}
                            {{$repoOwner := $repo.MustOwner}}
                            <tr id="notification_{{.ID}}">
                                <td class="collapsing" data-href="{{.HTMLURL}}">
                                    {{if eq .Status 3}}
                                        <span class="blue">{{svg "octicon-pin"}}</span>
                                    {{else if $issue.IsPull}}
                                        {{if $issue.IsClosed}}
                                            {{if $issue.GetPullRequest.HasMerged}}
                                                <span class="purple">{{svg "octicon-git-merge"}}</span>
                                            {{else}}
                                                <span class="red">{{svg "octicon-git-pull-request"}}</span>
                                            {{end}}
                                        {{else}}
                                            <span class="green">{{svg "octicon-git-pull-request"}}</span>
                                        {{end}}
                                    {{else}}
                                        {{if $issue.IsClosed}}
                                            <span class="red">{{svg "octicon-issue-closed"}}</span>
                                        {{else}}
                                            <span class="green">{{svg "octicon-issue-opened"}}</span>
                                        {{end}}
                                    {{end}}
                                </td>
                                <td class="eleven wide" data-href="{{.HTMLURL}}">
                                    <a class="item" href="{{.HTMLURL}}">
                                        #{{$issue.Index}} - {{$issue.Title}}
                                    </a>
                                </td>
                                <td data-href="{{AppSubUrl}}/{{$repoOwner.Name}}/{{$repo.Name}}">
                                    <a class="item" href="{{AppSubUrl}}/{{$repoOwner.Name}}/{{$repo.Name}}">
                                        {{$repoOwner.Name}}/{{$repo.Name}}
                                    </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='{{$.i18n.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='{{$.i18n.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='{{$.i18n.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>