| import {getOptions} from '../common/optionsUtils.js'; |
| |
| var intersectionObserver; |
| |
| function intersectionCallback(entries, observer) { |
| entries.forEach(entry => { |
| if (entry.isIntersecting) { |
| entry.target.click(); |
| } |
| }); |
| }; |
| |
| var intersectionOptions = { |
| threshold: 1.0, |
| }; |
| |
| getOptions('list').then(options => { |
| var button = document.querySelector('.thread-list-threads__load-more-button'); |
| if (options.list && button !== null) { |
| intersectionObserver = |
| new IntersectionObserver(intersectionCallback, intersectionOptions); |
| intersectionObserver.observe(button); |
| |
| // On a best-effort basis, move the "ask community" card before the "load |
| // more" button, if both exist. |
| let buttonContainer = document.querySelector( |
| '.thread-list__threads > .thread-list-threads__load-more-container'); |
| let askCard = |
| document.querySelector('.thread-list__threads > .ask-community-card'); |
| if (buttonContainer !== null && askCard !== null) { |
| let threadList = document.querySelector('.thread-list__threads'); |
| threadList.insertBefore(askCard, buttonContainer); |
| } |
| } |
| }); |