Merge branch 'bookwyrm-social:main' into storygraph-import

This commit is contained in:
allie 2021-05-10 15:58:04 -03:00
commit df99060898
3 changed files with 31 additions and 5 deletions

View file

@ -6,13 +6,30 @@
{% block title %}{% trans "Notifications" %}{% endblock %} {% block title %}{% trans "Notifications" %}{% endblock %}
{% block content %} {% block content %}
<div class="block"> <header class="columns">
<h1 class="title">{% trans "Notifications" %}</h1> <div class="column">
<h1 class="title">{% trans "Notifications" %}</h1>
</div>
<form name="clear" action="/notifications" method="POST"> <form name="clear" action="/notifications" method="POST" class="column is-narrow">
{% csrf_token %} {% csrf_token %}
<button class="button is-danger is-light" type="submit" class="secondary">{% trans "Delete notifications" %}</button> <button class="button is-danger is-light" type="submit" class="secondary">{% trans "Delete notifications" %}</button>
</form> </form>
</header>
<div class="block">
<nav class="tabs">
<ul>
{% url 'notifications' as tab_url %}
<li {% if tab_url == request.path %}class="is-active"{% endif %}>
<a href="{{ tab_url }}">{% trans "All" %}</a>
</li>
{% url 'notifications' 'mentions' as tab_url %}
<li {% if tab_url == request.path %}class="is-active"{% endif %}>
<a href="{{ tab_url }}">{% trans "Mentions" %}</a>
</li>
</ul>
</nav>
</div> </div>
<div class="block"> <div class="block">

View file

@ -139,6 +139,11 @@ urlpatterns = [
path("", views.Home.as_view(), name="landing"), path("", views.Home.as_view(), name="landing"),
re_path(r"^discover/?$", views.Discover.as_view()), re_path(r"^discover/?$", views.Discover.as_view()),
re_path(r"^notifications/?$", views.Notifications.as_view(), name="notifications"), re_path(r"^notifications/?$", views.Notifications.as_view(), name="notifications"),
re_path(
r"^notifications/(?P<notification_type>mentions)/?$",
views.Notifications.as_view(),
name="notifications",
),
re_path(r"^directory/?", views.Directory.as_view(), name="directory"), re_path(r"^directory/?", views.Directory.as_view(), name="directory"),
# Get started # Get started
re_path( re_path(

View file

@ -11,10 +11,14 @@ from django.views import View
class Notifications(View): class Notifications(View):
"""notifications view""" """notifications view"""
def get(self, request): def get(self, request, notification_type=None):
"""people are interacting with you, get hyped""" """people are interacting with you, get hyped"""
notifications = request.user.notification_set.all().order_by("-created_date") notifications = request.user.notification_set.all().order_by("-created_date")
unread = [n.id for n in notifications.filter(read=False)] if notification_type == "mentions":
notifications = notifications.filter(
notification_type__in=["REPLY", "MENTION", "TAG"]
)
unread = [n.id for n in notifications.filter(read=False)[:50]]
data = { data = {
"notifications": notifications[:50], "notifications": notifications[:50],
"unread": unread, "unread": unread,