diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html
index 36241ee2..a1a73135 100644
--- a/bookwyrm/templates/book/book.html
+++ b/bookwyrm/templates/book/book.html
@@ -153,12 +153,25 @@
{# user's relationship to the book #}
+ {% if user_shelfbooks.count > 0 %}
+
+ {% trans "You have shelved this edition in:" %}
+
+
{% for shelf in user_shelfbooks %}
-
- {% blocktrans with path=shelf.shelf.local_path shelf_name=shelf.shelf.name %}This edition is on your {{ shelf_name }} shelf.{% endblocktrans %}
- {% include 'snippets/shelf_selector.html' with current=shelf.shelf %}
-
+ -
+ {% blocktrans with path=shelf.shelf.local_path shelf_name=shelf.shelf.name %}{{ shelf_name }}{% endblocktrans %}
+ {% if shelf.shelf.identifier|is_shelf_type:"readthrough" %}
+ {% include 'snippets/shelve_button/shelve_button.html' %}
+ {% else %}
+
+ {% include 'snippets/shelf_selector.html' with current=shelf.shelf class="is-small" %}
+
+ {% endif %}
+
{% endfor %}
+
+ {% endif %}
{% for shelf in other_edition_shelves %}
{% blocktrans with book_path=shelf.book.local_path shelf_path=shelf.shelf.local_path shelf_name=shelf.shelf.name %}A different edition of this book is on your {{ shelf_name }} shelf.{% endblocktrans %}
diff --git a/bookwyrm/templates/snippets/shelf_selector.html b/bookwyrm/templates/snippets/shelf_selector.html
index ca5a39f6..ef5bf5bc 100644
--- a/bookwyrm/templates/snippets/shelf_selector.html
+++ b/bookwyrm/templates/snippets/shelf_selector.html
@@ -1,5 +1,7 @@
{% extends 'components/dropdown.html' %}
{% load i18n %}
+{% load bookwyrm_tags %}
+
{% block dropdown-trigger %}
{% trans "Move book" %}
@@ -7,6 +9,7 @@
{% block dropdown-list %}
{% for shelf in user_shelves %}
+{% if shelf.identifier|is_shelf_type:"custom" %}
+{% endif %}
{% endfor %}
diff --git a/bookwyrm/templatetags/bookwyrm_tags.py b/bookwyrm/templatetags/bookwyrm_tags.py
index bccd8c75..992f584a 100644
--- a/bookwyrm/templatetags/bookwyrm_tags.py
+++ b/bookwyrm/templatetags/bookwyrm_tags.py
@@ -41,6 +41,17 @@ def get_book_description(book):
return book.description or book.parent_work.description
+@register.filter(name="is_shelf_type")
+def shelf_type(current_shelf, shelf_type):
+ """is this shelf a readthrough shelf?"""
+ readthrough = current_shelf in ["to-read", "reading", "read"]
+ if shelf_type == "readthrough" and readthrough == True:
+ return True
+ if shelf_type == "custom" and readthrough == False:
+ return True
+ return False
+
+
@register.filter(name="next_shelf")
def get_next_shelf(current_shelf):
"""shelf you'd use to update reading progress"""