Confirmation modal for to-read shelve action

This commit is contained in:
Mouse Reeve 2021-01-30 13:11:43 -08:00
parent 37710144fa
commit e5fd14b206
5 changed files with 43 additions and 3 deletions

View file

@ -8,15 +8,17 @@
{% include 'snippets/toggle/toggle_button.html' with label="close" class="delete" nonbutton=True %}
</header>
{% block modal-form-open %}{% endblock %}
{% if not no_body %}
<section class="modal-card-body">
{% block modal-body %}{% endblock %}
</section>
{% endif %}
<footer class="modal-card-foot">
{% block modal-footer %}{% endblock %}
</footer>
{% block modal-form-close %}{% endblock %}
</div>
<label class="modal-close is-large" for="{{ controls_text }}-{{ readthrough.id }}" aria-label="close"></label>
<label class="modal-close is-large" for="{{ controls_text }}-{{ controls_uid }}" aria-label="close"></label>
{% include 'snippets/toggle/toggle_button.html' with label="close" class="modal-close is-large" nonbutton=True %}
</div>

View file

@ -10,12 +10,14 @@
</div>
{% else %}
<div class="control">
{% include 'snippets/shelve_button_options.html' with class="shelf-option is-small" shelves=request.user.shelf_set.all active_shelf=active_shelf %}
{% include 'snippets/shelve_button_options.html' with class="shelf-option is-small" shelves=request.user.shelf_set.all active_shelf=active_shelf button_uuid=uuid %}
</div>
{% include 'snippets/shelve_button_dropdown.html' with class="is-small" button_uuid=uuid%}
{% endif %}
</div>
{% include 'snippets/want_to_read_modal.html' with book=active_shelf.book controls_text="want-to-read" controls_uid=uuid no_body=True %}
{% include 'snippets/start_reading_modal.html' with book=active_shelf.book controls_text="start-reading" controls_uid=uuid %}
{% latest_read_through book request.user as readthrough %}

View file

@ -5,10 +5,12 @@
<div class="{% if dropdown %}dropdown-item pt-0 pb-0{% elif active_shelf.shelf.identifier|next_shelf != shelf.identifier %}hidden{% endif %}">
{% if shelf.identifier == 'reading' %}
{% include 'snippets/toggle/toggle_button.html' with class=class text="Start reading" controls_text="start-reading" controls_uid=button_uuid focus="modal-title-start-reading" disabled=is_current %}
{% elif shelf.identifier == 'read' and active_shelf.shelf.identifier == 'read' %}
<button type="button" class="button {{ class }}" disabled><span>Read</span>
{% elif shelf.identifier == 'read' %}
{% include 'snippets/toggle/toggle_button.html' with class=class text="Finish reading" controls_text="finish-reading" controls_uid=button_uuid focus="modal-title-finish-reading" disabled=is_current %}
{% elif shelf.identifier == 'to-read' %}
{% include 'snippets/toggle/toggle_button.html' with class=class text="Want to read" controls_text="finish-reading" controls_uid=button_uuid focus="modal-title-finish-reading" disabled=is_current %}
{% include 'snippets/toggle/toggle_button.html' with class=class text="Want to read" controls_text="want-to-read" controls_uid=button_uuid focus="modal-title-want-to-read" disabled=is_current %}
{% else %}
<form name="shelve" action="/shelve/" method="post">
{% csrf_token %}

View file

@ -0,0 +1,30 @@
{% extends 'components/modal.html' %}
{% block modal-title %}
Want to Read "<em>{{ book.title }}</em>"
{% endblock %}
{% block modal-form-open %}
<form name="shelve" action="/shelve/" method="post">
{% csrf_token %}
<input type="hidden" name="book" value="{{ active_shelf.book.id }}">
{% endblock %}
{% block modal-footer %}
<div class="columns">
<div class="column field">
<label for="post_status_want-{{ uuid }}">
<input type="checkbox" name="post-status" class="checkbox" id="post_status_want-{{ uuid }}" checked>
Post to feed
</label>
{% include 'snippets/privacy_select.html' %}
</div>
<div class="column">
<button class="button is-success" name="shelf" type="submit" value="{{ shelf.identifier }}" {% if shelf in book.shelf_set.all %} disabled {% endif %}>
<span>Want to read</span>
</button>
{% include 'snippets/toggle/toggle_button.html' with text="Cancel" controls_text="want-to-read" controls_uid=uuid %}
</div>
</div>
{% endblock %}
{% block modal-form-close %}</form>{% endblock %}

View file

@ -161,10 +161,13 @@ def get_status_preview_name(obj):
@register.filter(name='next_shelf')
def get_next_shelf(current_shelf):
''' shelf you'd use to update reading progress '''
if current_shelf == 'to-read':
return 'reading'
if current_shelf == 'reading':
return 'read'
if current_shelf == 'read':
return 'read'
return 'to-read'
@register.simple_tag(takes_context=False)
@ -211,4 +214,5 @@ def active_read_through(book, user):
@register.simple_tag(takes_context=False)
def comparison_bool(str1, str2):
''' idk why I need to write a tag for this, it reutrns a bool '''
return str1 == str2