commit inicial

This commit is contained in:
silva guimaraes 2025-07-03 17:12:05 -03:00
commit 92b0a902ca
20 changed files with 2464 additions and 0 deletions

104
views/static/reader.js Normal file
View file

@ -0,0 +1,104 @@
let nextButton = document.querySelector('#next-button');
let previousButton = document.querySelector('#previous-button');
let startButton = document.querySelector('#start-button');
let endButton = document.querySelector('#end-button');
let pageCounter = document.querySelector('#page-counter');
let leftNavigate = document.querySelector('#left');
let rightNavigate = document.querySelector('#right');
let space = document.querySelector('#pages-container');
let pages = document.querySelectorAll('.page');
let currentPage = space.dataset.page - 1;
function updateURL() {
const url = new URL(window.location.href);
// console.log(url.href);
// https://example.com/?a=hello&b=world
// console.log(url.origin);
// https://example.com
const new_params = new URLSearchParams([
['page', currentPage+1]
// ...Array.from(url.searchParams.entries()),
]).toString();
// console.log(new_params);
// a=hello&b=world&c=a&d=2&e=false
window.history.replaceState(null, "", `${url.pathname}?${new_params}`)
}
function updatePages() {
currentPage = Math.max(0, Math.min(currentPage, pages.length-1))
for (let i = 0; i < pages.length; i++) {
pages[i].classList.add("hidden")
if (i == currentPage) {
pages[i].classList.remove("hidden")
}
}
pageCounter.textContent = currentPage + 1;
updateURL();
}
function pageUpdater(x) {
return () => {
currentPage += x;
updatePages();
}
}
function pageSetter(x) {
return () => {
currentPage = x;
updatePages();
}
}
let nextPage = pageUpdater(1);
let previousPage = pageUpdater(-1);
nextButton.onclick = nextPage;
previousButton.onclick = previousPage;
leftNavigate.onclick = previousPage;
rightNavigate.onclick = nextPage;
startButton.onclick = pageSetter(0);
endButton.onclick = pageSetter(pages.length-1);
function pageNav(e) {
console.log(e.offsetX);
console.log(e.offsetY);
console.log(e);
nextPage();
}
const pz = Panzoom(space, { // nada aqui funciona?
// onClick: function (e) {
// console.log(e)
// return false;
// },
// maxScale: 5,
// maxZoom: 0.1,
// minZoom: 0.1
// animate: true,
// duration: 200,
// pinchSpeed: 0,
// zoomSpeed: 0.0001,
// easing: "ease-in-out",
});
// panzoom.zoom(1 / 1.1);
space.parentElement.addEventListener('wheel', pz.zoomWithWheel)
updatePages();