Fix #4: readings switch to dropped after rating
All checks were successful
CI / quality-checks (push) Successful in 52s
All checks were successful
CI / quality-checks (push) Successful in 52s
The hidden input for "dropped" in the completed reading form was always setting the value to "1", which caused the reading to be marked as dropped when the rating was updated (hidden inputs do not honor the "checked" attribute). Additionally, the book rating section is now swapped OOB when any reading is updated, to ensure the changes are reflected in the hidden inputs. This was causing the latest changes to a reading to be lost when the rating was updated immediately after.
This commit is contained in:
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
<!-- Current Book Rating (if any completed readings) -->
|
<!-- Current Book Rating (if any completed readings) -->
|
||||||
{% if vars.completed_readings %}
|
{% if vars.completed_readings %}
|
||||||
<div class="alert alert-light border py-2 mb-3">
|
<div id="book-rating" class="alert alert-light border py-2 mb-3">
|
||||||
<form action="/book/{{ book.id }}/reading/{{ vars.completed_readings[0].id }}/update" method="POST"
|
<form action="/book/{{ book.id }}/reading/{{ vars.completed_readings[0].id }}/update" method="POST"
|
||||||
class="row align-items-center g-2" hx-trigger="change,submit" hx-swap="none show:none"
|
class="row align-items-center g-2" hx-trigger="change,submit" hx-swap="none show:none"
|
||||||
hx-select-oob="#flash-messages-container" hx-target="this">
|
hx-select-oob="#flash-messages-container" hx-target="this">
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
<input type="hidden" name="start_date" value="{{ vars.completed_readings[0].start_date.strftime('%Y-%m-%d') }}">
|
<input type="hidden" name="start_date" value="{{ vars.completed_readings[0].start_date.strftime('%Y-%m-%d') }}">
|
||||||
<input type="hidden" name="end_date"
|
<input type="hidden" name="end_date"
|
||||||
value="{{ vars.completed_readings[0].end_date.strftime('%Y-%m-%d') if vars.completed_readings[0].end_date else '' }}">
|
value="{{ vars.completed_readings[0].end_date.strftime('%Y-%m-%d') if vars.completed_readings[0].end_date else '' }}">
|
||||||
<input type="hidden" name="dropped" value="1" {{ 'checked' if vars.completed_readings[0].dropped else '' }}>
|
<input type="hidden" name="dropped" value="{{ '1' if vars.completed_readings[0].dropped else '0' }}">
|
||||||
<input type="hidden" name="comments" value="{{ vars.completed_readings[0].comments or '' }}">
|
<input type="hidden" name="comments" value="{{ vars.completed_readings[0].comments or '' }}">
|
||||||
|
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
@@ -61,7 +61,8 @@
|
|||||||
{% for reading in vars.user_readings | sort(attribute='start_date', reverse=true) %}
|
{% for reading in vars.user_readings | sort(attribute='start_date', reverse=true) %}
|
||||||
<div class="border rounded p-3 mb-2 {% if reading == vars.current_reading %}border-primary bg-light{% endif %}">
|
<div class="border rounded p-3 mb-2 {% if reading == vars.current_reading %}border-primary bg-light{% endif %}">
|
||||||
<form action="/book/{{ book.id }}/reading/{{ reading.id }}/update" method="POST" hx-trigger="change,submit"
|
<form action="/book/{{ book.id }}/reading/{{ reading.id }}/update" method="POST" hx-trigger="change,submit"
|
||||||
hx-swap="none show:none" hx-select-oob="#flash-messages-container:outerHTML" hx-target="this">
|
hx-swap="none show:none" hx-select-oob="#flash-messages-container:outerHTML,#book-rating:outerHTML"
|
||||||
|
hx-target="this">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label-sm">Start Date</label>
|
<label class="form-label-sm">Start Date</label>
|
||||||
|
|||||||
Reference in New Issue
Block a user