diff --git a/bookwyrm/templates/components/modal.html b/bookwyrm/templates/components/modal.html
index d8c1a468..2eabd2e2 100644
--- a/bookwyrm/templates/components/modal.html
+++ b/bookwyrm/templates/components/modal.html
@@ -14,7 +14,11 @@
{% block modal-title %}{% endblock %}
- {% include 'snippets/toggle/toggle_button.html' with label=label class="delete" nonbutton=True %}
+ {% if static %}
+ {{ label }}
+ {% else %}
+ {% include 'snippets/toggle/toggle_button.html' with label=label class="delete" nonbutton=True %}
+ {% endif %}
{% block modal-form-open %}{% endblock %}
{% if not no_body %}
@@ -27,6 +31,10 @@
{% block modal-form-close %}{% endblock %}
- {% include 'snippets/toggle/toggle_button.html' with label=label class="modal-close is-large" nonbutton=True %}
+ {% if static %}
+ {{ label }}
+ {% else %}
+ {% include 'snippets/toggle/toggle_button.html' with label=label class="modal-close is-large" nonbutton=True %}
+ {% endif %}
diff --git a/bookwyrm/templates/reading_progress/finish.html b/bookwyrm/templates/reading_progress/finish.html
index ca69128e..501fb3c4 100644
--- a/bookwyrm/templates/reading_progress/finish.html
+++ b/bookwyrm/templates/reading_progress/finish.html
@@ -9,6 +9,6 @@ Finish "{{ book_title }}"
{% block content %}
-{% include "snippets/reading_modals/finish_reading_modal.html" with book=book active=True %}
+{% include "snippets/reading_modals/finish_reading_modal.html" with book=book active=True static=True %}
{% endblock %}
diff --git a/bookwyrm/templates/reading_progress/start.html b/bookwyrm/templates/reading_progress/start.html
index e24a0e05..df8f698a 100644
--- a/bookwyrm/templates/reading_progress/start.html
+++ b/bookwyrm/templates/reading_progress/start.html
@@ -9,6 +9,6 @@ Start "{{ book_title }}"
{% block content %}
-{% include "snippets/reading_modals/start_reading_modal.html" with book=book active=True %}
+{% include "snippets/reading_modals/start_reading_modal.html" with book=book active=True static=True %}
{% endblock %}
diff --git a/bookwyrm/templates/reading_progress/want.html b/bookwyrm/templates/reading_progress/want.html
index 6122ade3..31f047cf 100644
--- a/bookwyrm/templates/reading_progress/want.html
+++ b/bookwyrm/templates/reading_progress/want.html
@@ -9,6 +9,6 @@ Want to Read "{{ book_title }}"
{% block content %}
-{% include "snippets/reading_modals/want_to_read_modal.html" with book=book active=True %}
+{% include "snippets/reading_modals/want_to_read_modal.html" with book=book active=True static=True %}
{% endblock %}
diff --git a/bookwyrm/views/reading.py b/bookwyrm/views/reading.py
index 9100e1d4..70dc2147 100644
--- a/bookwyrm/views/reading.py
+++ b/bookwyrm/views/reading.py
@@ -31,6 +31,7 @@ class ReadingStatus(View):
}.get(status)
if not template:
return HttpResponseNotFound()
+ # redirect if we're already on this shelf
return TemplateResponse(request, f"reading_progress/{template}", {"book": book})
def post(self, request, status, book_id):
@@ -58,11 +59,15 @@ class ReadingStatus(View):
)
.first()
)
+
+ referer = request.headers.get("Referer", "/")
+ if "reading-status" in referer:
+ referer = "/"
if current_status_shelfbook is not None:
if current_status_shelfbook.shelf.identifier != desired_shelf.identifier:
current_status_shelfbook.delete()
else: # It already was on the shelf
- return redirect(request.headers.get("Referer", "/"))
+ return redirect(referer)
models.ShelfBook.objects.create(
book=book, shelf=desired_shelf, user=request.user
@@ -87,8 +92,7 @@ class ReadingStatus(View):
else:
privacy = request.POST.get("privacy")
handle_reading_status(request.user, desired_shelf, book, privacy)
-
- return redirect(request.headers.get("Referer", "/"))
+ return redirect(referer)
@login_required