Skip to content

Commit

Permalink
Added dynamic value for how many items to constantly display for the …
Browse files Browse the repository at this point in the history
…verbose pagination
  • Loading branch information
FMaz008 committed May 1, 2024
1 parent 218e7a8 commit 39b8d02
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 3 deletions.
24 changes: 23 additions & 1 deletion popup/homepage.html
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,34 @@ <h1>
<input type="checkbox" name="general.topPagination" value="1" />
</label>
<label for="general.verbosePagination" style="margin-left: 10px"
>Verbose pagination (AI tab only)
>Verbose top pagination (AI tab only)
<a href="#" class="tips" title="The top pagination will display more pages.">
<div class="vh-toolbar-icon vh-icon-question"></div>
</a>
<input type="checkbox" name="general.verbosePagination" value="1" />
</label>
<label for="general.verbosePaginationStartPadding" style="margin-left: 20px"
>Always display the first X pages:
<a
href="#"
class="tips"
title="Define how many pages to display at the start of the pagination."
>
<div class="vh-toolbar-icon vh-icon-question"></div>
</a>
<select name="general.verbosePaginationStartPadding" id="verbosePaginationStartPadding">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</label>

<label for="hiddenTab.active"
>Hidden Tab
Expand Down
14 changes: 14 additions & 0 deletions popup/homepage.js
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,20 @@ function init() {
await chrome.storage.local.set({ settings: appSettings });
};

//general.verbosePaginationStartPadding
select = document.getElementById("verbosePaginationStartPadding");
for (i = 0; i < select.options.length; i++) {
if (select.options[i].value == appSettings.general.verbosePaginationStartPadding) {
select.options[i].selected = true;
}
}
document.getElementById("verbosePaginationStartPadding").onchange = async function () {
appSettings.general.verbosePaginationStartPadding = document.getElementById(
"verbosePaginationStartPadding"
).value;
await chrome.storage.local.set({ settings: appSettings });
};

//Concensus Threshold
key = CSS.escape("unavailableTab.consensusThreshold");
document.querySelector(`#${key}`).value = appSettings.unavailableTab.consensusThreshold;
Expand Down
7 changes: 5 additions & 2 deletions scripts/pagination.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
function generatePagination(url, totalItems, itemsPerPage, currentPage) {
const LAST_PAGE = Math.ceil(totalItems / itemsPerPage);
const START_PAGE_PADDING = 10;
const START_PAGE_PADDING =
appSettings.general.verbosePaginationStartPadding == undefined
? 1
: parseInt(appSettings.general.verbosePaginationStartPadding);
const CURRENT_PAGE_PADDING = 3;
const END_PAGE_PADDING = 0;

//Generate the pagination container
var pagination = generatePaginationContainer();

//First 10 pages links
//First "10" pages links
for (let i = 1; i <= START_PAGE_PADDING; i++) {
pagination.querySelector("ul").appendChild(generatePageItem(url, i, currentPage));
}
Expand Down

0 comments on commit 39b8d02

Please sign in to comment.