{% extends 'layout.html' %} {% load humanize %} {% load bookwyrm_tags %} {% block content %} <div class="block"> <h1 class="title">Notifications</h1> <form name="clear" action="/clear-notifications" method="POST"> {% csrf_token %} <button class="button is-danger is-light" type="submit" class="secondary">Delete notifications</button> </form> </div> <div class="block"> {% for notification in notifications %} {% related_status notification as related_status %} <div class="notification {% if notification.id in unread %} is-primary{% endif %}"> <div class="columns is-mobile"> <div class="column is-narrow is-size-3 {% if notification.id in unread%}has-text-white{% else %}has-text-grey{% endif %}"> {% if notification.notification_type == 'MENTION' %} <span class="icon icon-comment"></span> {% elif notification.notification_type == 'REPLY' %} <span class="icon icon-comments"></span> {% elif notification.notification_type == 'FOLLOW' or notification.notification_type == 'FOLLOW_REQUEST' %} <span class="icon icon-local"></span> {% elif notification.notification_type == 'BOOST' %} <span class="icon icon-boost"></span> {% elif notification.notification_type == 'FAVORITE' %} <span class="icon icon-heart"></span> {% elif notification.notification_type == 'IMPORT' %} <span class="icon icon-list"></span> {% endif %} </div> <div class="column"> <div class="block"> <p> {# DESCRIPTION #} {% if notification.related_user %} {% include 'snippets/avatar.html' with user=notification.related_user %} {% include 'snippets/username.html' with user=notification.related_user %} {% if notification.notification_type == 'FAVORITE' %} favorited your <a href="{{ related_status.local_path }}">{{ related_status | status_preview_name|safe }}</a> {% elif notification.notification_type == 'MENTION' %} mentioned you in a <a href="{{ related_status.local_path }}">{{ related_status | status_preview_name|safe }}</a> {% elif notification.notification_type == 'REPLY' %} <a href="{{ related_status.local_path }}">replied</a> to your <a href="{{ related_status.reply_parent.local_path }}">{{ related_status | status_preview_name|safe }}</a> {% elif notification.notification_type == 'FOLLOW' %} followed you {% include 'snippets/follow_button.html' with user=notification.related_user %} {% elif notification.notification_type == 'FOLLOW_REQUEST' %} sent you a follow request <div class="row shrink"> {% include 'snippets/follow_request_buttons.html' with user=notification.related_user %} </div> {% elif notification.notification_type == 'BOOST' %} boosted your <a href="{{ related_status.local_path }}">{{ related_status | status_preview_name|safe }}</a> {% endif %} {% else %} your <a href="/import-status/{{ notification.related_import.id }}">import</a> completed. {% endif %} </p> </div> {% if related_status %} <div class="block"> {# PREVIEW #} <div class="notification py-2 {% if notification.id in unread %}is-primary is-light{% else %}has-background-white{% if notification.notification_type == 'REPLY' or notification.notification_type == 'MENTION' %} has-text-black{% else %}-bis has-text-grey-dark{% endif %}{% endif %}"> <div class="columns"> <div class="column"> {% if related_status.content %} <a href="{{ related_status.local_path }}">{{ related_status.content | safe | truncatewords_html:10 }}</a> {% elif related_status.quote %} <a href="{{ related_status.local_path }}">{{ related_status.quote | safe | truncatewords_html:10 }}</a> {% elif related_status.rating %} {% include 'snippets/stars.html' with rating=related_status.rating %} {% endif %} </div> <div class="column is-narrow {% if notification.notification_type == 'REPLY' or notification.notification_type == 'MENTION' %}has-text-black{% else %}has-text-grey-dark{% endif %}"> {{ related_status.published_date | post_date }} {% include 'snippets/privacy-icons.html' with item=related_status %} </div> </div> </div> </div> {% endif %} </div> </div> </div> {% endfor %} {% if not notifications %} <p>You're all caught up!</p> {% endif %} </div> {% endblock %}