diff --git a/public/static/index.js b/public/static/index.js index ad52ab9..050829a 100644 --- a/public/static/index.js +++ b/public/static/index.js @@ -1,10 +1,25 @@ -let search_box = document.querySelector('input') -function search_web() { - window.location = `search?q=${search_box.value}` +/** + * Selects the input element for the search box + * @type {HTMLInputElement} + */ +const searchBox = document.querySelector('input'); + +/** + * Redirects the user to the search results page with the query parameter + */ +function searchWeb() { + const query = searchBox.value.trim(); + if (query) { + window.location.href = `search?q=${encodeURIComponent(query)}`; + } } -search_box.addEventListener('keyup', (e) => { +/** + * Listens for the 'Enter' key press event on the search box and calls the searchWeb function + * @param {KeyboardEvent} e - The keyboard event object + */ +searchBox.addEventListener('keyup', (e) => { if (e.key === 'Enter') { - search_web() + searchWeb(); } -}) +}); diff --git a/public/static/pagination.js b/public/static/pagination.js index 12c568f..72ce320 100644 --- a/public/static/pagination.js +++ b/public/static/pagination.js @@ -1,26 +1,39 @@ +/** + * Navigates to the next page by incrementing the current page number in the URL query parameters. + * @returns {void} + */ function navigate_forward() { - const url = new URL(window.location) - const searchParams = url.searchParams + const url = new URL(window.location); + const searchParams = url.searchParams; - let q = searchParams.get('q') - let page = searchParams.get('page') + let q = searchParams.get('q'); + let page = parseInt(searchParams.get('page')); - if (page === null) { - page = 2 - window.location = `${url.origin}${url.pathname}?q=${q}&page=${page}` + if (isNaN(page)) { + page = 1; } else { - window.location = `${url.origin}${url.pathname}?q=${q}&page=${++page}` + page++; } + + window.location.href = `${url.origin}${url.pathname}?q=${encodeURIComponent(q)}&page=${page}`; } +/** + * Navigates to the previous page by decrementing the current page number in the URL query parameters. + * @returns {void} + */ function navigate_backward() { - const url = new URL(window.location) - const searchParams = url.searchParams + const url = new URL(window.location); + const searchParams = url.searchParams; - let q = searchParams.get('q') - let page = searchParams.get('page') + let q = searchParams.get('q'); + let page = parseInt(searchParams.get('page')); - if (page !== null && page > 1) { - window.location = `${url.origin}${url.pathname}?q=${q}&page=${--page}` + if (isNaN(page)) { + page = 1; + } else if (page > 1) { + page--; } + + window.location.href = `${url.origin}${url.pathname}?q=${encodeURIComponent(q)}&page=${page}`; }