diff --git a/code/websites/pokedex.online/src/views/GamemasterExplorer.vue b/code/websites/pokedex.online/src/views/GamemasterExplorer.vue index 43ad4a0..f380996 100644 --- a/code/websites/pokedex.online/src/views/GamemasterExplorer.vue +++ b/code/websites/pokedex.online/src/views/GamemasterExplorer.vue @@ -643,11 +643,11 @@ function scrollToResult() { if (lineIndex === undefined) return; const lineNumber = lineIndex + 1; // Convert to 1-based line number - + // Retry logic for virtual scroller rendering const attemptScroll = (attempt = 0) => { const lineElement = document.querySelector(`[data-line="${lineNumber}"]`); - + if (lineElement) { // Element is rendered, scroll it into view lineElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); @@ -660,13 +660,15 @@ function scrollToResult() { // Fallback: scroll container to approximate position const container = document.querySelector('.scroller, .lines-container'); if (container) { - const estimatedScroll = (lineIndex / displayLines.value.length) * (container.scrollHeight - container.clientHeight); + const estimatedScroll = + (lineIndex / displayLines.value.length) * + (container.scrollHeight - container.clientHeight); container.scrollTop = estimatedScroll; } return false; } }; - + attemptScroll(); }