No exercício da aula, o botão de sort mostra todos os itens que foram obtidos na requisição.
Eu queria que o botão de ordenação por preço ordenasse somente o que estava sendo mostrado. Então eu mudei um pouco a função de ordenamento. No meu caso, eu implementei tudo no evento do botão direto, mas caso alguém queira tentar (ou sugerir soluções melhores), meu código é esse aqui:
button.addEventListener("click", () => {
let currentPage = document.querySelectorAll(".livro .livro__titulo");
currentPage = [...currentPage].map(book => {return book.innerHTML.trim()});
const currentBooks = livros.filter(livro => currentPage.includes(`${livro.titulo}`));
const sortedBooks = currentBooks.sort((a, b) => a.preco - b.preco);
populateTable(sortedBooks);
})
Abraço!