This commit is contained in:
2025-11-07 13:34:32 -08:00
commit 1e8c5a972b
436 changed files with 11000 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
module ArrangementHelper
def arrangement_tag(book, **, &)
tag.div data: {
controller: "arrangement reading-progress",
arrangement_cursor_class: "arrangement-cursor",
arrangement_selected_class: "arrangement-selected",
arrangement_placeholder_class: "arrangement-placeholder",
arrangement_adding_mode_class: "arrangement--adding",
arrangement_move_mode_class: "arrangement-move-mode",
arrangement_url_value: book_leaves_moves_url(book),
reading_progress_book_id_value: book.id,
reading_progress_last_read_class: "toc__leaf--last-read"
}, **, &
end
def arrangement_actions
actions = {
"click": "click",
"dragstart": "dragStart",
"dragover": "dragOver:prevent",
"dragend": "dragEnd",
"drop": "drop",
"keydown.up": "moveBefore",
"keydown.right": "moveAfter",
"keydown.down": "moveAfter",
"keydown.left": "moveBefore",
"keydown.shift+up": "moveBefore",
"keydown.shift+right": "moveAfter",
"keydown.shift+down": "moveAfter",
"keydown.shift+left": "moveBefore",
"keydown.space": "toggleMoveMode",
"keydown.enter": "applyMoveMode",
"keydown.esc": "cancelMoveMode"
}
actions.map { |action, target| "#{action}->arrangement##{target}" }.join(" ")
end
end