diff --git a/fedireads/static/format.css b/fedireads/static/format.css
index 86c94b4d..34a735a6 100644
--- a/fedireads/static/format.css
+++ b/fedireads/static/format.css
@@ -483,7 +483,7 @@ tr {
}
tr:nth-child(even) {
- background-color: #DDD;
+ background-color: #EEE;
}
th {
diff --git a/fedireads/templates/layout.html b/fedireads/templates/layout.html
index 257ff4ca..e76cc2d4 100644
--- a/fedireads/templates/layout.html
+++ b/fedireads/templates/layout.html
@@ -26,7 +26,7 @@
- {% include 'snippets/book_cover.html' with book=book %}
+ {% include 'snippets/book_cover.html' with book=book size="small" %}
|
{{ book.title }}
diff --git a/fedireads/templates/user_shelves.html b/fedireads/templates/user_shelves.html
new file mode 100644
index 00000000..a2da8b22
--- /dev/null
+++ b/fedireads/templates/user_shelves.html
@@ -0,0 +1,14 @@
+{% extends 'layout.html' %}
+{% load fr_display %}
+{% block content %}
+{% include 'user_header.html' with user=user %}
+
+{% for shelf in shelves %}
+
+ {{ shelf.name }}
+ {% include 'snippets/shelf.html' with shelf=shelf ratings=ratings %}
+
+{% endfor %}
+
+{% endblock %}
+
diff --git a/fedireads/urls.py b/fedireads/urls.py
index 8220957d..e26912c6 100644
--- a/fedireads/urls.py
+++ b/fedireads/urls.py
@@ -39,6 +39,7 @@ urlpatterns = [
re_path(r'%s/?$' % user_path, views.user_page),
re_path(r'%s\.json$' % local_user_path, views.user_page),
re_path(r'user-edit/?$', views.edit_profile_page),
+ re_path(r'%s/shelves/?$' % local_user_path, views.user_shelves_page),
re_path(r'%s/followers/?$' % local_user_path, views.followers_page),
re_path(r'%s/followers.json$' % local_user_path, views.followers_page),
re_path(r'%s/following/?$' % local_user_path, views.following_page),
diff --git a/fedireads/views.py b/fedireads/views.py
index a57a6ba1..da5b8159 100644
--- a/fedireads/views.py
+++ b/fedireads/views.py
@@ -132,11 +132,9 @@ def user_page(request, username, subpage=None):
# otherwise we're at a UI view
# TODO: change display with privacy and authentication considerations
- shelves = get_user_shelf_preview(user)
data = {
'user': user,
- 'shelves': shelves,
'is_self': request.user.id == user.id,
}
if subpage == 'followers':
@@ -145,7 +143,12 @@ def user_page(request, username, subpage=None):
elif subpage == 'following':
data['following'] = user.following.all()
return TemplateResponse(request, 'following.html', data)
+ elif subpage == 'shelves':
+ data['shelves'] = user.shelf_set.all()
+ return TemplateResponse(request, 'user_shelves.html', data)
else:
+ shelves = get_user_shelf_preview(user)
+ data['shelves'] = shelves
activities = models.Status.objects.filter(
user=user,
).order_by(
@@ -195,6 +198,15 @@ def following_page(request, username):
return user_page(request, username, subpage='following')
+@csrf_exempt
+def user_shelves_page(request, username):
+ ''' list of followers '''
+ if request.method != 'GET':
+ return HttpResponseBadRequest()
+
+ return user_page(request, username, subpage='shelves')
+
+
@csrf_exempt
def status_page(request, username, status_id):
''' display a particular status (and replies, etc) '''
|