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 @@
-
-
-
-
-
-
-
-
-
-
-
- Open main menu
-
-
-
-
-
-
-
-
-
-
- {{ item.name }}
-
-
-
-
-
-
-
\ 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 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{ relay }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ 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 @@
-
-
-
-
-
-
- {{ getRelaysCount(activeSubsection) }}
-
- {{ activeSubsection }} Relays
-
-
-
- {{ store.layout.getActiveItem('relays/find')?.description }}
-
-
-
-
- Add Relay
-
-
-
-
-
-
-
-
-
-
-
\ 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 @@
-
-
-
-
-
-
-
-
-
-
- {{ relay }}
-
-
-
-
-
-
-
-
- {{ getFlag(relay) }}
-
-
- {{ result?.latency?.final }}ms
-
-
-
- Connect
-
-
-
- Read
-
-
-
- write
-
-
-
-
- ❤️
-
-
-
-
-
-
-
-
-
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 @@
+
+
+
+
+
+
+
+
+
+
+
+ Open main menu
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+
+
+
+
+ {{ getRelaysCount(activeSubsection) }}
+
+ {{ activeSubsection }} Relays
+
+
+
+ {{ store.layout.getActiveItem('relays/find')?.description }}
+
+
+
+
+ Add Relay
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
+ v-if="this.path == '/relays/map'" />
+
+
+
+
+
+
+
+
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 @@
-
+
{{ this.store.relays.getAll.filter( (relay) => this.results?.[relay]?.aggregate == 'offline').length }}
-
+