code.gitea.io/gitea@v1.22.3/templates/user/notification/notification_div.tmpl (about) 1 <div role="main" aria-label="{{.Title}}" class="page-content user notification" id="notification_div" data-sequence-number="{{.SequenceNumber}}"> 2 <div class="ui container"> 3 {{$notificationUnreadCount := call .NotificationUnreadCount}} 4 <div class="tw-flex tw-items-center tw-justify-between tw-mb-[--page-spacing]"> 5 <div class="small-menu-items ui compact tiny menu"> 6 <a class="{{if eq .Status 1}}active {{end}}item" href="{{AppSubUrl}}/notifications?q=unread"> 7 {{ctx.Locale.Tr "notification.unread"}} 8 <div class="notifications-unread-count ui label {{if not $notificationUnreadCount}}tw-hidden{{end}}">{{$notificationUnreadCount}}</div> 9 </a> 10 <a class="{{if eq .Status 2}}active {{end}}item" href="{{AppSubUrl}}/notifications?q=read"> 11 {{ctx.Locale.Tr "notification.read"}} 12 </a> 13 </div> 14 {{if and (eq .Status 1)}} 15 <form action="{{AppSubUrl}}/notifications/purge" method="post"> 16 {{$.CsrfTokenHtml}} 17 <div class="{{if not $notificationUnreadCount}}tw-hidden{{end}}"> 18 <button class="ui mini button primary tw-mr-0" title="{{ctx.Locale.Tr "notification.mark_all_as_read"}}"> 19 {{svg "octicon-checklist"}} 20 </button> 21 </div> 22 </form> 23 {{end}} 24 </div> 25 <div class="tw-p-0"> 26 <div id="notification_table"> 27 {{if not .Notifications}} 28 <div class="tw-flex tw-items-center tw-flex-col tw-p-4"> 29 {{svg "octicon-inbox" 56 "tw-mb-4"}} 30 {{if eq .Status 1}} 31 {{ctx.Locale.Tr "notification.no_unread"}} 32 {{else}} 33 {{ctx.Locale.Tr "notification.no_read"}} 34 {{end}} 35 </div> 36 {{else}} 37 {{range $notification := .Notifications}} 38 <div class="notifications-item tw-flex tw-items-center tw-flex-wrap tw-gap-2 tw-p-2" id="notification_{{.ID}}" data-status="{{.Status}}"> 39 <div class="notifications-icon tw-ml-2 tw-mr-1 tw-self-start tw-mt-1"> 40 {{if .Issue}} 41 {{template "shared/issueicon" .Issue}} 42 {{else}} 43 {{svg "octicon-repo" 16 "text grey"}} 44 {{end}} 45 </div> 46 <a class="notifications-link tw-flex tw-flex-1 tw-flex-col silenced" href="{{.Link ctx}}"> 47 <div class="notifications-top-row tw-text-13 tw-break-anywhere"> 48 {{.Repository.FullName}} {{if .Issue}}<span class="text light-3">#{{.Issue.Index}}</span>{{end}} 49 {{if eq .Status 3}} 50 {{svg "octicon-pin" 13 "text blue tw-mt-0.5 tw-ml-1"}} 51 {{end}} 52 </div> 53 <div class="notifications-bottom-row tw-text-16 tw-py-0.5"> 54 <span class="issue-title tw-break-anywhere"> 55 {{if .Issue}} 56 {{.Issue.Title | RenderEmoji $.Context | RenderCodeBlock}} 57 {{else}} 58 {{.Repository.FullName}} 59 {{end}} 60 </span> 61 </div> 62 </a> 63 <div class="notifications-updated tw-items-center tw-mr-2"> 64 {{if .Issue}} 65 {{TimeSinceUnix .Issue.UpdatedUnix ctx.Locale}} 66 {{else}} 67 {{TimeSinceUnix .UpdatedUnix ctx.Locale}} 68 {{end}} 69 </div> 70 <div class="notifications-buttons tw-items-center tw-justify-end tw-gap-1 tw-px-1"> 71 {{if ne .Status 3}} 72 <form action="{{AppSubUrl}}/notifications/status" method="post"> 73 {{$.CsrfTokenHtml}} 74 <input type="hidden" name="notification_id" value="{{.ID}}"> 75 <input type="hidden" name="status" value="pinned"> 76 <button class="btn interact-bg tw-p-2" title="{{ctx.Locale.Tr "notification.pin"}}" 77 data-url="{{AppSubUrl}}/notifications/status" 78 data-status="pinned" 79 data-page="{{$.Page.Paginater.Current}}" 80 data-notification-id="{{.ID}}" 81 data-q="{{$.Keyword}}"> 82 {{svg "octicon-pin"}} 83 </button> 84 </form> 85 {{end}} 86 {{if or (eq .Status 1) (eq .Status 3)}} 87 <form action="{{AppSubUrl}}/notifications/status" method="post"> 88 {{$.CsrfTokenHtml}} 89 <input type="hidden" name="notification_id" value="{{.ID}}"> 90 <input type="hidden" name="status" value="read"> 91 <input type="hidden" name="page" value="{{$.Page.Paginater.Current}}"> 92 <button class="btn interact-bg tw-p-2" title="{{ctx.Locale.Tr "notification.mark_as_read"}}" 93 data-url="{{AppSubUrl}}/notifications/status" 94 data-status="read" 95 data-page="{{$.Page.Paginater.Current}}" 96 data-notification-id="{{.ID}}" 97 data-q="{{$.Keyword}}"> 98 {{svg "octicon-check"}} 99 </button> 100 </form> 101 {{else if eq .Status 2}} 102 <form action="{{AppSubUrl}}/notifications/status" method="post"> 103 {{$.CsrfTokenHtml}} 104 <input type="hidden" name="notification_id" value="{{.ID}}"> 105 <input type="hidden" name="status" value="unread"> 106 <input type="hidden" name="page" value="{{$.Page.Paginater.Current}}"> 107 <button class="btn interact-bg tw-p-2" title="{{ctx.Locale.Tr "notification.mark_as_unread"}}" 108 data-url="{{AppSubUrl}}/notifications/status" 109 data-status="unread" 110 data-page="{{$.Page.Paginater.Current}}" 111 data-notification-id="{{.ID}}" 112 data-q="{{$.Keyword}}"> 113 {{svg "octicon-bell"}} 114 </button> 115 </form> 116 {{end}} 117 </div> 118 </div> 119 {{end}} 120 {{end}} 121 </div> 122 </div> 123 {{template "base/paginate" .}} 124 </div> 125 </div>