8c5b47d774
* Group notification emails by board Notification bundle emails now group items by board instead of showing the board name redundantly for each card. Each board section has a linked header and an <hr> separator. * Adjust board title styles and remove rem units * Sort board groups alphabetically Sort notification email board sections alphabetically by name (case-insensitive). Also, rewrite mailer tests to use Nokogiri::HTML5 for precise DOM assertions instead of regex matching. --------- Co-authored-by: Andy Smith <andy@37signals.com>
23 lines
1.2 KiB
Plaintext
23 lines
1.2 KiB
Plaintext
<tr>
|
|
<td>
|
|
<h1 class="title">Notifications since <%= @bundle.starts_at.strftime("%-l%P on %A, %B %-d") %></h1>
|
|
<p class="subtitle margin-block-end-double">
|
|
You have <%= link_to pluralize(@notifications.count, "new notification"), notifications_url %><%= " in #{ Current.account.name }" if @user.identity.accounts.many? %>.
|
|
</p>
|
|
|
|
<% @notifications.group_by { |n| n.card.board }.sort_by { |board, _| board.name.downcase }.each do |board, board_notifications| %>
|
|
<hr class="notification__board-separator">
|
|
<h2 class="notification__board"><%= link_to board.name, board %></h2>
|
|
<% board_notifications.group_by(&:card).each do |card, notifications| %>
|
|
<%= link_to "##{ card.number } #{ card.title }", card, class: "card__title" %>
|
|
<%= render partial: "notification/bundle_mailer/notification", collection: notifications, as: :notification %>
|
|
<% end %>
|
|
<% end %>
|
|
|
|
<p class="footer">Fizzy emails you about new notifications every few hours. <br>
|
|
<%= link_to "Change how often you get these", notifications_settings_url %>
|
|
or <%= link_to "unsubscribe from all email notifications", new_notifications_unsubscribe_url(access_token: @unsubscribe_token) %>.
|
|
</p>
|
|
</td>
|
|
</tr>
|