diff --git a/qortal-ui-plugins/plugins/core/qdn/websites.src.js b/qortal-ui-plugins/plugins/core/qdn/websites.src.js index de25728a..4f4c00a1 100644 --- a/qortal-ui-plugins/plugins/core/qdn/websites.src.js +++ b/qortal-ui-plugins/plugins/core/qdn/websites.src.js @@ -22,6 +22,7 @@ class Websites extends LitElement { identifier: { type: String }, loading: { type: Boolean }, resources: { type: Array }, + pageRes: { type: Array }, followedNames: { type: Array }, blockedNames: { type: Array }, relayMode: { type: Boolean }, @@ -223,6 +224,7 @@ class Websites extends LitElement { this.identifier = null this.selectedAddress = {} this.resources = [] + this.pageRes = [] this.followedNames = [] this.blockedNames = [] this.relayMode = null @@ -585,11 +587,21 @@ class Websites extends LitElement { getArbitraryResources = async () => { const resources = await parentEpml.request('apiCall', { - url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true` + url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=false&includemetadata=false` }) this.resources = resources } + 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(); + + this.pageRes = jsonData; + } + async updateItemsFromPage(page) { if (page === undefined) { return @@ -611,7 +623,14 @@ class Websites extends LitElement { this.pages.forEach((pageNumber) => { const pageBtn = document.createElement('button') pageBtn.textContent = pageNumber + let offset = 1; pageBtn.addEventListener('click', (e) => { + if (parseInt(e.target.textContent) > 1) { + offset = (parseInt(e.target.textContent) - 1) * 20; + } else { + offset = 0; + } + this.getData(offset); this.updateItemsFromPage(parseInt(e.target.textContent)) }) if (pageNumber === page) { @@ -654,12 +673,13 @@ class Websites extends LitElement { let start = (page - 1) * this.resourcesGrid.pageSize let end = page * this.resourcesGrid.pageSize - this.resourcesGrid.items = this.resources.slice(start, end) + this.resourcesGrid.items = this.pageRes } async showWebsites() { await this.getArbitraryResources() await this.getResourcesGrid() + await this.getData(0) await this.updateItemsFromPage(1, true) }