78 lines
3.8 KiB
Text
78 lines
3.8 KiB
Text
{ content_for :title, 'Notifications | Metamaps' }
|
|
{ content_for :mobile_title, 'Notifications' }
|
|
|
|
<div id="yield">
|
|
<div class="centerContent notificationsPage">
|
|
<header class="page-header">
|
|
<h2 class="title">Notifications</h4>
|
|
</header>
|
|
<ul class="notifications">
|
|
{ blacklist = [MAP_ACCESS_REQUEST, MAP_ACCESS_APPROVED, MAP_INVITE_TO_EDIT] }
|
|
{ notifications = @notifications.to_a.delete_if{|n| blacklist.include?(n.notification_code) && (n.notified_object.nil? || n.notified_object.map.nil?) }}
|
|
{ notifications.each do |notification| }
|
|
{ receipt = @receipts.find_by(notification_id: notification.id) }
|
|
<li class="notification { receipt.is_read? ? 'read' : 'unread' }" id="notification-{ notification.id }">
|
|
{ link_to notification_path(notification.id) do }
|
|
<div class="notification-actor">
|
|
{ image_tag notification.sender.image(:thirtytwo) }
|
|
</div>
|
|
<div class="notification-body">
|
|
<div class="in-bold">{ notification.sender.name }</div>
|
|
{
|
|
case notification.notification_code
|
|
when MAP_ACCESS_APPROVED }
|
|
{ map = notification.notified_object.map }
|
|
granted your request to edit map <span class="in-bold">{ map.name }</span>
|
|
{ when MAP_ACCESS_REQUEST }
|
|
{ map = notification.notified_object.map }
|
|
wants permission to map with you on <span class="in-bold">{ map.name }</span>
|
|
{ if !notification.notified_object.answered }
|
|
<div class="action">Offer a response</div>
|
|
{ end }
|
|
{ when MAP_INVITE_TO_EDIT }
|
|
{ map = notification.notified_object.map }
|
|
gave you edit access to map <span class="in-bold">{ map.name }</span>
|
|
{ when TOPIC_ADDED_TO_MAP }
|
|
{ topic = notification.notified_object.eventable
|
|
map = notification.notified_object.map }
|
|
added topic <span class="in-bold">{ topic.name }</span> to map <span class="in-bold">{ map.name }</span>
|
|
{ when TOPIC_CONNECTED_1 }
|
|
{ topic1 = notification.notified_object&.topic1 }
|
|
{ topic2 = notification.notified_object&.topic2 }
|
|
connected <span class="in-bold">{ topic1&.name }</span> to <span class="in-bold">{ topic2&.name }</span>
|
|
{ when TOPIC_CONNECTED_2 }
|
|
{ topic1 = notification.notified_object&.topic1 }
|
|
{ topic2 = notification.notified_object&.topic2 }
|
|
connected <span class="in-bold">{ topic2&.name }</span> to <span class="in-bold">{ topic1&.name }</span>
|
|
{ when MESSAGE_FROM_DEVS }
|
|
{ notification.subject }
|
|
{ end }
|
|
</div>
|
|
{ end }
|
|
<div class="notification-read-unread">
|
|
{ if receipt.is_read? }
|
|
{ link_to 'mark as unread', mark_unread_notification_path(notification.id), remote: true, method: :put }
|
|
{ else }
|
|
{ link_to 'mark as read', mark_read_notification_path(notification.id), remote: true, method: :put }
|
|
{ end }
|
|
</div>
|
|
<div class="notification-date">
|
|
{ notification.created_at.strftime("%b %d") }
|
|
</div>
|
|
<div class="clearfloat"></div>
|
|
</li>
|
|
{ end }
|
|
{ if notifications.count == 0 }
|
|
<div class="emptyInbox">
|
|
You have no notifications. More time for dancing.
|
|
</div>
|
|
{ end }
|
|
</ul>
|
|
</div>
|
|
|
|
{ if @notifications.total_pages > 1 }
|
|
<div class="centerContent withPadding pagination">
|
|
{ paginate @notifications }
|
|
</div>
|
|
{ end }
|
|
</div>
|