diff options
author | Andrew Godwin | 2022-11-27 12:37:52 -0700 |
---|---|---|
committer | Andrew Godwin | 2022-11-27 12:37:52 -0700 |
commit | 3217569df583829d776bcbaf77b80696d3527005 (patch) | |
tree | 8924b33d8dc2e768c1b594d99c9128b698499449 | |
parent | 03ba96ff26943f11b0ae1a21a0bcc39309b05901 (diff) | |
download | takahe-3217569df583829d776bcbaf77b80696d3527005.tar.gz takahe-3217569df583829d776bcbaf77b80696d3527005.tar.bz2 takahe-3217569df583829d776bcbaf77b80696d3527005.zip |
Link to post pages and show replies there
Fixes #60, #59
-rw-r--r-- | activities/views/posts.py | 21 | ||||
-rw-r--r-- | static/css/style.css | 9 | ||||
-rw-r--r-- | templates/activities/_post.html | 2 | ||||
-rw-r--r-- | templates/activities/post.html | 3 |
4 files changed, 33 insertions, 2 deletions
diff --git a/activities/views/posts.py b/activities/views/posts.py index 083df30..8fbe361 100644 --- a/activities/views/posts.py +++ b/activities/views/posts.py @@ -1,5 +1,6 @@ from django import forms from django.core.exceptions import PermissionDenied +from django.db import models from django.http import JsonResponse from django.shortcuts import get_object_or_404, redirect, render from django.utils.decorators import method_decorator @@ -47,6 +48,26 @@ class Individual(TemplateView): [self.post_obj], self.request.identity, ), + "replies": Post.objects.filter( + models.Q( + visibility__in=[ + Post.Visibilities.public, + Post.Visibilities.local_only, + Post.Visibilities.unlisted, + ] + ) + | models.Q( + visibility=Post.Visibilities.followers, + author__inbound_follows__source=self.identity, + ) + | models.Q( + visibility=Post.Visibilities.mentioned, + mentions=self.identity, + ), + in_reply_to=self.post_obj.object_uri, + ) + .distinct() + .order_by("published", "created"), } def serve_object(self): diff --git a/static/css/style.css b/static/css/style.css index 93ad329..772d527 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -695,10 +695,16 @@ h1.identity small { .post { margin-bottom: 20px; overflow: hidden; + cursor: pointer; } .post.mini { font-size: 14px; + cursor: inherit; +} + +.post.reply { + margin-left: 32px; } .left-column .post { @@ -778,7 +784,8 @@ h1.identity small { margin-left: 64px; } -.post.mini .content, .post.mini .edited { +.post.mini .content, +.post.mini .edited { margin-left: 0px; } diff --git a/templates/activities/_post.html b/templates/activities/_post.html index e294698..7402765 100644 --- a/templates/activities/_post.html +++ b/templates/activities/_post.html @@ -1,6 +1,6 @@ {% load static %} {% load activity_tags %} -<div class="post" data-takahe-id="{{ post.id }}"> +<div class="post {% if reply %}reply{% endif %}" data-takahe-id="{{ post.id }}" _="on click go url {{ post.urls.view }}"> <a href="{{ post.author.urls.view }}"> <img src="{{ post.author.local_icon_url }}" class="icon"> diff --git a/templates/activities/post.html b/templates/activities/post.html index eee254f..d27790f 100644 --- a/templates/activities/post.html +++ b/templates/activities/post.html @@ -4,4 +4,7 @@ {% block content %} {% include "activities/_post.html" %} + {% for reply in replies %} + {% include "activities/_post.html" with post=reply reply=True %} + {% endfor %} {% endblock %} |