diff --git a/app/src/Book.jsx b/app/src/Book.jsx index fd3cd1e..e565445 100644 --- a/app/src/Book.jsx +++ b/app/src/Book.jsx @@ -359,20 +359,20 @@ function MergePicker({ session, book, books, onDone, onClose }) { const q = norm(query) const shown = q ? others.filter((b) => [b.title, b.author, b.filename].some((v) => norm(v).includes(q))) : others if (selected) { - const what = selected.stats ? 'progress, clippings and reading stats' : 'progress and clippings' return ( - setSelected(null)} onConfirm={async () => { + setSelected(null)} onConfirm={async () => { await api.merge(session, selected.book.document, book.document, selected.stats) onDone() }}> - Its {what} move here, and future syncs of it land here too. + The farthest-along reading position from either copy is kept. Clippings and service matches are combined. + {selected.stats ? 'Reading stats are combined too.' : 'Reading stats are not combined.'} Future syncs from either copy update this book. ) } return ( - +

- When two readers identify the same book differently, it shows up twice. Pick the copy to fold into this one. + Choose another copy of this book to merge. The farthest-along reading position is kept, whichever copy it comes from. Clippings and service matches are combined.