Fix verse range extraction for tooltips

Fixed the tooltip JavaScript to properly extract verse ranges from chapter pages.

Issue:
- Verse range tooltips were showing "Verse range not found"
- The selector was looking for .verse-text elements that don't exist on chapter pages

Solution:
- Updated verse extraction to query by #verse-{number} paragraph IDs
- Clone the verse paragraph and remove:
  * Verse number links (.verse-number-link)
  * Sidenotes and marginnotes
  * Margin toggle elements
- Extract clean text content from each verse in the range
- Join multiple verses with spaces

Now verse ranges like "1 Corinthians 15:19-20" will properly fetch
and display the text of both verses in the tooltip.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-23 21:34:38 -05:00
parent 705a3f7d65
commit d1df9b9b84
+18 -4
View File
@@ -1385,15 +1385,29 @@
var verseEndNum = parseInt(verseEnd);
for (var i = verseStart; i <= verseEndNum; i++) {
var verseElement = doc.querySelector('#verse-' + i + ' .verse-text, [data-verse="' + i + '"] .verse-text');
if (verseElement) {
verses.push(verseElement.textContent.trim());
var verseP = doc.querySelector('#verse-' + i);
if (verseP) {
// Clone the element to avoid modifying the original
var clone = verseP.cloneNode(true);
// Remove verse number link
var verseLink = clone.querySelector('.verse-number-link');
if (verseLink) verseLink.remove();
// Remove sidenotes and marginnotes
var notes = clone.querySelectorAll('.sidenote, .marginnote, .margin-toggle, label.margin-toggle');
notes.forEach(function(note) { note.remove(); });
var text = clone.textContent.trim();
if (text) {
verses.push(text);
}
}
}
verseText = verses.length > 0 ? verses.join(' ') : 'Verse range not found';
} else {
// Extract single verse text
// Extract single verse text from verse page
var verseElement = doc.querySelector('.verse-text');
if (!verseElement) {
// Try alternative selectors