Add follow times

This commit is contained in:
Andrew Godwin 2022-12-16 17:39:10 -07:00
parent be377653fe
commit c588567c86
3 changed files with 26 additions and 6 deletions

View file

@ -33,21 +33,33 @@ class Follows(ListView):
state__in=FollowStates.group_active(),
).order_by("-created")
def follows_to_identities(self, follows, attr):
"""
Turns a list of follows into a list of identities (ith the
follow creation date preserved on them.
"""
result = []
for follow in follows:
identity = getattr(follow, attr)
identity.follow_date = follow.state_changed
result.append(identity)
return result
def get_context_data(self):
context = super().get_context_data()
# Go work out if any of these people also follow us/are followed
if self.inbound:
context["page_obj"].object_list = [
follow.source for follow in context["page_obj"]
]
context["page_obj"].object_list = self.follows_to_identities(
context["page_obj"], "source"
)
identity_ids = [identity.id for identity in context["page_obj"]]
context["outbound_ids"] = Follow.objects.filter(
source=self.request.identity, target_id__in=identity_ids
).values_list("target_id", flat=True)
else:
context["page_obj"].object_list = [
follow.target for follow in context["page_obj"]
]
context["page_obj"].object_list = self.follows_to_identities(
context["page_obj"], "target"
)
identity_ids = [identity.id for identity in context["page_obj"]]
context["inbound_ids"] = Follow.objects.filter(
target=self.request.identity, source_id__in=identity_ids

View file

@ -396,6 +396,12 @@ body.no-sidebar .right-column {
background: var(--color-delete);
}
.icon-menu .option time {
float: right;
color: var(--color-text-duller);
margin: 14px 0 0 0;
}
.handle {
vertical-align: middle;
display: inline-block;

View file

@ -1,4 +1,5 @@
{% extends "base.html" %}
{% load activity_tags %}
{% block subtitle %}Follows{% endblock %}
@ -27,6 +28,7 @@
{% if identity.id in inbound_ids %}
<span class="pill">Follows You</span>
{% endif %}
<time>{{ identity.follow_date | timedeltashort }} ago</time>
</a>
{% empty %}
<p class="option empty">You have no follows.</p>