diff --git a/src/components/layout/HeaderComponent.vue b/src/components/layout/HeaderComponent.vue index 3002876..935d009 100644 --- a/src/components/layout/HeaderComponent.vue +++ b/src/components/layout/HeaderComponent.vue @@ -117,8 +117,7 @@ import { defineComponent } from 'vue' import { setupStore } from '@/store' import UserLib from '@/shared/user-lib.js' -// import PreferencesComponent from '@/components/PreferencesComponent.vue' -import AuthComponent from '@/components/AuthComponent.vue' +import AuthComponent from '@/components/user/AuthComponent.vue' import {version} from '../../../package.json' diff --git a/src/components/NavComponent.vue b/src/components/layout/NavComponent.vue similarity index 100% rename from src/components/NavComponent.vue rename to src/components/layout/NavComponent.vue diff --git a/src/components/relays/FindRelaysSubnav.vue b/src/components/relays/FindRelaysSubnav.vue deleted file mode 100644 index 4ae49bd..0000000 --- a/src/components/relays/FindRelaysSubnav.vue +++ /dev/null @@ -1,104 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/relays/LikeComponent.vue b/src/components/relays/LikeComponent.vue deleted file mode 100644 index 505db2c..0000000 --- a/src/components/relays/LikeComponent.vue +++ /dev/null @@ -1,23 +0,0 @@ - \ No newline at end of file diff --git a/src/components/relays/MapInteractive.vue b/src/components/relays/MapInteractive.vue deleted file mode 100644 index 82a6479..0000000 --- a/src/components/relays/MapInteractive.vue +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/src/components/relays/RelayControl.vue b/src/components/relays/RelayControl.vue deleted file mode 100644 index cea800c..0000000 --- a/src/components/relays/RelayControl.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/relays/RelaysFind.vue b/src/components/relays/RelaysFind.vue deleted file mode 100644 index 3bf598f..0000000 --- a/src/components/relays/RelaysFind.vue +++ /dev/null @@ -1,124 +0,0 @@ - - \ No newline at end of file diff --git a/src/components/relays/SingleClearnet.vue b/src/components/relays/SingleClearnet.vue deleted file mode 100644 index a4e70af..0000000 --- a/src/components/relays/SingleClearnet.vue +++ /dev/null @@ -1,256 +0,0 @@ - - - - - diff --git a/src/components/relays/TaskQueue.vue b/src/components/relays/TaskQueue.vue deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/relays/AddRelay.vue b/src/components/relays/blocks/AddRelay.vue similarity index 100% rename from src/components/relays/AddRelay.vue rename to src/components/relays/blocks/AddRelay.vue diff --git a/src/components/relays/MapSingle.vue b/src/components/relays/blocks/MapSingle.vue similarity index 100% rename from src/components/relays/MapSingle.vue rename to src/components/relays/blocks/MapSingle.vue diff --git a/src/components/relays/MapSummary.vue b/src/components/relays/blocks/MapSummary.vue similarity index 100% rename from src/components/relays/MapSummary.vue rename to src/components/relays/blocks/MapSummary.vue diff --git a/src/components/relays/RefreshComponent.vue b/src/components/relays/blocks/RefreshComponent.vue similarity index 82% rename from src/components/relays/RefreshComponent.vue rename to src/components/relays/blocks/RefreshComponent.vue index 2edde42..72630ef 100644 --- a/src/components/relays/RefreshComponent.vue +++ b/src/components/relays/blocks/RefreshComponent.vue @@ -6,7 +6,7 @@ - {{ this.store.tasks.getProcessedRelays.length }}/{{ this.relays.length }} Relays Checked + {{ this.store.tasks.getProcessed('relays').length }}/{{ this.relays.length }} Relays Checked - @@ -37,6 +37,13 @@ import { Inspector } from 'nostr-relay-inspector' const localMethods = { + addToQueue: function(id, fn){ + this.store.tasks.addJob({ + id: id, + handler: fn.bind(this) + }) + }, + setRefreshInterval: function(){ clearInterval(this.interval) this.interval = setInterval(() => { @@ -59,42 +66,39 @@ const localMethods = { else this.windowActive = true }, + // handleRelaysFind(){ + // this.addToQueue('relays/find', () => this.invalidate()) + // }, + // handleRelaysSingle(relayURL){ + // this.addToQueue('relays/single', () => this.invalidate(false, relayUrl)) + // }, invalidate: async function(force, single){ if( (!this.isExpired && !force) ) return - this.store.tasks.startProcessing() + this.store.tasks.startProcessing('relays') const relays = this.relays.filter( relay => !this.store.tasks.isRelayProcessed(relay) ) + // if(this.store.tasks.isActive) + // this.store.tasks.setRate('relays/find', 0) + // else + // this.store.tasks.setRate('relays/find', 2000) + if(single) { - await this.check(single) + await this.check(single) } else { // const processed = new Set() for(let index = 0; index < relays.length; index++) { const relay = relays[index] - await this.delay(this.averageLatency).then( () => { - this.check(relay) - .then((result) => { - if(this.store.tasks.isRelayProcessed(result.uri)) - return - this.store.tasks.addProcessedRelay(result.uri) - this.results[result.uri] = result - this.setCache(result) - // //console.log('processing status', processed, '/', this.relays.length) - console.log('complete?', result.uri, this.store.tasks.getProcessedRelays.length, this.relays.length) - if(this.store.tasks.getProcessedRelays.length >= this.relays.length) - this.completeAll() - }) - .catch( err => console.error(err) ) - }).catch(err => console.error(err)) + await this.check(relay) } } }, completeAll: function(){ - this.store.tasks.finishProcessing() + this.store.tasks.finishProcessing('relays') this.store.relays.updateNow() //console.log('all are complete?', this.store.tasks.isProcessing) // const aggregates = new Object() @@ -109,6 +113,8 @@ const localMethods = { check: async function(relay){ + await this.delay(this.averageLatency) + return new Promise( (resolve, reject) => { const opts = { checkLatency: true, @@ -132,6 +138,7 @@ const localMethods = { instance.relay.close() instance.result.log = instance.log resolve(instance.result) + // console.log('complete?', instance.result.uri, this.store.tasks.getProcessed('relays', relays.length), this.relays.length) }) .on('close', (relay) => { console.log(`${relay.url} has closed`) @@ -141,6 +148,20 @@ const localMethods = { }) .run() }) + .then((result) => { + if(this.store.tasks.isRelayProcessed(result.uri)) + return + this.store.tasks.addProcessed('relays', result.uri) + + this.results[result.uri] = result + this.setCache(result) + + if(this.store.tasks.getProcessed('relays').length >= this.relays.length) + this.completeAll() + }) + .catch( err => console.error(err) ) + + }, getAverageLatency: function(){ const latencies = new Array() diff --git a/src/components/relays/ListClearnet.vue b/src/components/relays/blocks/RelaysResultTable.vue similarity index 98% rename from src/components/relays/ListClearnet.vue rename to src/components/relays/blocks/RelaysResultTable.vue index 165afb4..10972e2 100644 --- a/src/components/relays/ListClearnet.vue +++ b/src/components/relays/blocks/RelaysResultTable.vue @@ -41,8 +41,8 @@ - - + + diff --git a/src/components/relays/ToolFilter.vue b/src/components/relays/blocks/RelaysSearchFilter.vue similarity index 97% rename from src/components/relays/ToolFilter.vue rename to src/components/relays/blocks/RelaysSearchFilter.vue index 5819e70..97ca5bb 100644 --- a/src/components/relays/ToolFilter.vue +++ b/src/components/relays/blocks/RelaysSearchFilter.vue @@ -35,7 +35,7 @@ const localMethods = { } export default defineComponent({ - name: 'ToolFilter', + name: 'RelaysSearchFilter', components: { MagnifyingGlassIcon }, diff --git a/src/components/relays/nav/RelaysFindNav.vue b/src/components/relays/nav/RelaysFindNav.vue new file mode 100644 index 0000000..e5c8cf8 --- /dev/null +++ b/src/components/relays/nav/RelaysFindNav.vue @@ -0,0 +1,104 @@ + + + \ No newline at end of file diff --git a/src/components/relays/SubnavComponent.vue b/src/components/relays/nav/RelaysNav.vue similarity index 56% rename from src/components/relays/SubnavComponent.vue rename to src/components/relays/nav/RelaysNav.vue index ba60acd..42df300 100644 --- a/src/components/relays/SubnavComponent.vue +++ b/src/components/relays/nav/RelaysNav.vue @@ -4,39 +4,44 @@
+ v-bind:resultsProp="results" + v-if="path == '/relays/find'"/>
+ + {{ isActive }} \ No newline at end of file diff --git a/src/components/relays/config/find-pagenav.yaml b/src/components/relays/nav/config/relays.find.yaml similarity index 80% rename from src/components/relays/config/find-pagenav.yaml rename to src/components/relays/nav/config/relays.find.yaml index ee74b03..e803a0b 100644 --- a/src/components/relays/config/find-pagenav.yaml +++ b/src/components/relays/nav/config/relays.find.yaml @@ -1,24 +1,24 @@ items: - name: All slug: all - href: '#/relays/find/all' + href: '#all' description: All relays ordered by latency - name: Public slug: public - href: '#/relays/find/public' + href: '#public' description: All public relays ordered by latency. Public relays are relays where anyone can read or write. - name: Restricted slug: restricted - href: '#/relays/find/restricted' + href: '#restricted' description: Restricted relays ordered by latency. Restricted relays are relays where there are read and/or write restrictions - name: Offline slug: offline - href: '#/relays/find/offline' + href: '#offline' group: relays description: Relays where a connection cannot currently be established - name: Favorites slug: favorite - href: '#/relays/find/favorite' + href: '#favorite' condition: auth description: Relays you have favorited # - name: Invalid diff --git a/src/components/relays/config/subnav.yaml b/src/components/relays/nav/config/relays.yaml similarity index 100% rename from src/components/relays/config/subnav.yaml rename to src/components/relays/nav/config/relays.yaml diff --git a/src/components/relays/pages/RelaysFind.vue b/src/components/relays/pages/RelaysFind.vue new file mode 100644 index 0000000..85c3434 --- /dev/null +++ b/src/components/relays/pages/RelaysFind.vue @@ -0,0 +1,135 @@ + + + \ No newline at end of file diff --git a/src/components/relays/pages/RelaysHome.vue b/src/components/relays/pages/RelaysHome.vue index 2c95903..634b502 100644 --- a/src/components/relays/pages/RelaysHome.vue +++ b/src/components/relays/pages/RelaysHome.vue @@ -1,38 +1,30 @@ + + + + diff --git a/src/components/relays/pages/RelaysSingle.vue b/src/components/relays/pages/RelaysSingle.vue index aaa2675..8f01e15 100644 --- a/src/components/relays/pages/RelaysSingle.vue +++ b/src/components/relays/pages/RelaysSingle.vue @@ -1,7 +1,6 @@