diff --git a/qortal-ui-plugins/plugins/core/qdn/websites.src.js b/qortal-ui-plugins/plugins/core/qdn/websites.src.js
index 4f4c00a1..851de9d5 100644
--- a/qortal-ui-plugins/plugins/core/qdn/websites.src.js
+++ b/qortal-ui-plugins/plugins/core/qdn/websites.src.js
@@ -276,10 +276,10 @@ class Websites extends LitElement {
render(html`${this.renderInfo(data.item)}`, root)
}}>
- {
+ {
render(html`${this.renderPublishedBy(data.item)}`, root)
}}>
-
+
{
render(html`${this.renderFollowUnfollowButton(data.item)}`, root);
}}>
@@ -292,7 +292,7 @@ class Websites extends LitElement {
Websites
-
+
{
render(html`${this.renderAvatar(data.item)}`, root)
}}>
@@ -301,10 +301,10 @@ class Websites extends LitElement {
render(html`${this.renderInfo(data.item)}`, root)
}}>
- {
+ {
render(html`${this.renderPublishedBy(data.item)}`, root)
}}>
-
+
{
render(html`${this.renderFollowUnfollowButton(data.item)}`, root);
}}>
@@ -315,10 +315,10 @@ class Websites extends LitElement {
- ${this.resources == null ? html`
+ ${this.pageRes == null ? html`
Loading...
`: ''}
- ${this.isEmptyArray(this.resources) ? html`
+ ${this.isEmptyArray(this.pageRes) ? html`
No websites available
`: ''}
@@ -353,7 +353,7 @@ class Websites extends LitElement {
}}>
- ${this.webResources == null ? html`
+ ${this.webResources == null ? html`
Loading...
`: ''}
${this.isEmptyArray(this.webResources) ? html`
@@ -391,7 +391,7 @@ class Websites extends LitElement {
}}>
- ${this.blockResources == null ? html`
+ ${this.blockResources == null ? html`
Loading...
`: ''}
${this.isEmptyArray(this.blockResources) ? html`
@@ -595,11 +595,11 @@ class Websites extends LitElement {
async getData(offset) {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
- let jsonUrl = `${nodeUrl}/arbitrary/resources?service=WEBSITE&default=true&limit=20&offset=${offset}&reverse=false&includestatus=true&includemetadata=true`;
- const jsonRes = await fetch(jsonUrl);
- const jsonData = await jsonRes.json();
+ let jsonUrl = `${nodeUrl}/arbitrary/resources?service=WEBSITE&default=true&limit=20&offset=${offset}&reverse=false&includestatus=true&includemetadata=true`
+ const jsonRes = await fetch(jsonUrl)
+ const jsonData = await jsonRes.json()
- this.pageRes = jsonData;
+ this.pageRes = jsonData
}
async updateItemsFromPage(page) {
@@ -608,13 +608,21 @@ class Websites extends LitElement {
}
if (!this.pages) {
- this.pages = Array.apply(null, { length: Math.ceil(this.resources.length / this.resourcesGrid.pageSize) }).map((item, index) => {
+ this.pages = Array.apply(null, { length: Math.ceil(this.resources.length / 20) }).map((item, index) => {
return index + 1
})
+ let offset = 0;
+
const prevBtn = document.createElement('button')
prevBtn.textContent = '<'
prevBtn.addEventListener('click', () => {
+ if (parseInt(this.pagesControl.querySelector('[selected]').textContent) > 1) {
+ offset = (parseInt(this.pagesControl.querySelector('[selected]').textContent) - 2) * 20;
+ } else {
+ offset = 0;
+ }
+ this.getData(offset);
const selectedPage = parseInt(this.pagesControl.querySelector('[selected]').textContent)
this.updateItemsFromPage(selectedPage - 1)
})
@@ -623,7 +631,7 @@ class Websites extends LitElement {
this.pages.forEach((pageNumber) => {
const pageBtn = document.createElement('button')
pageBtn.textContent = pageNumber
- let offset = 1;
+ let offset = 0;
pageBtn.addEventListener('click', (e) => {
if (parseInt(e.target.textContent) > 1) {
offset = (parseInt(e.target.textContent) - 1) * 20;
@@ -642,6 +650,12 @@ class Websites extends LitElement {
const nextBtn = window.document.createElement('button')
nextBtn.textContent = '>'
nextBtn.addEventListener('click', () => {
+ if (parseInt(this.pagesControl.querySelector('[selected]').textContent) >= 1) {
+ offset = ((parseInt(this.pagesControl.querySelector('[selected]').textContent) + 1) * 20) - 20;
+ } else {
+ offset = 0;
+ }
+ this.getData(offset);
const selectedPage = parseInt(this.pagesControl.querySelector('[selected]').textContent)
this.updateItemsFromPage(selectedPage + 1)
})
@@ -670,16 +684,12 @@ class Websites extends LitElement {
}
}
})
- let start = (page - 1) * this.resourcesGrid.pageSize
- let end = page * this.resourcesGrid.pageSize
-
- this.resourcesGrid.items = this.pageRes
}
async showWebsites() {
await this.getArbitraryResources()
- await this.getResourcesGrid()
await this.getData(0)
+ await this.getResourcesGrid()
await this.updateItemsFromPage(1, true)
}