feat(backend): favourite, chapter override, and delete fragments

Adds the three UI mutation endpoints (favourite toggle, manual chapter
override, delete) plus the card controls that call them via htmx.
Each mutation is a read-modify-write through Store.Get/Upsert so
Upsert alone decides whether updated_at moves — favouriting must not
reorder the list, only real reading progress should.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 23:10:55 +07:00
parent f70707f154
commit 2c3d687b6d
4 changed files with 329 additions and 0 deletions
+7
View File
@@ -4,3 +4,10 @@ function setActiveTab(el) {
t.classList.toggle("active", t === el);
});
}
function toggleChapterForm(key) {
var form = document.getElementById("chapter-form-" + key);
if (!form) return;
form.hidden = !form.hidden;
if (!form.hidden) form.querySelector("input").focus();
}