|
@ -51,8 +51,9 @@ export default { |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
async mounted(){ |
|
|
async mounted(){ |
|
|
this.setFavoritesAsNip23() |
|
|
this.store.relays.persistNip23( 'local', this.setFavoritesAsNip23() ) |
|
|
await this.getNip23() |
|
|
this.persistNip23( 'remote', await this.getNip23() ) |
|
|
|
|
|
this.mergeLocalAndRemote() |
|
|
console.log('nip23', this.store.relays.getNip23) |
|
|
console.log('nip23', this.store.relays.getNip23) |
|
|
this.store.relays.$subscribe( mutation => { |
|
|
this.store.relays.$subscribe( mutation => { |
|
|
console.log(mutation.events) |
|
|
console.log(mutation.events) |
|
@ -63,20 +64,27 @@ export default { |
|
|
clearInterval(this.interval) |
|
|
clearInterval(this.interval) |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
mergeLocalAndRemote: function(){ |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
setFavoritesAsNip23: function(){ |
|
|
setFavoritesAsNip23: function(){ |
|
|
// const nip23 = {} |
|
|
const nip23 = [] |
|
|
// this.store.relays.getFavorites.forEach( relay => { |
|
|
this.store.relays.getFavorites.forEach( relay => { |
|
|
// nip23[relay] = {} |
|
|
const tag = [] |
|
|
// nip23[relay].read = true |
|
|
tag[0] = relay |
|
|
// nip23[relay].write = true |
|
|
tag[1].read = "" |
|
|
// }) |
|
|
tag[2].write = "" |
|
|
// this.store.relays.setNip23(nip23) |
|
|
nip23.push(tag) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
return true |
|
|
return true |
|
|
}, |
|
|
}, |
|
|
getNip23: async function(){ |
|
|
getNip23: async function(){ |
|
|
return new Promise( resolve => { |
|
|
return new Promise( resolve => { |
|
|
const subid = `kind1001-${this.store.user.getPublicKey}` |
|
|
const subid = `kind1001-${this.store.user.getPublicKey}` |
|
|
const filters = { limit:1, kinds:[10001], authors: [this.store.user.getPublicKey] } |
|
|
const filters = { limit:1, kinds:[10001], authors: [this.store.user.getPublicKey] } |
|
|
|
|
|
|
|
|
|
|
|
let invalid = false |
|
|
console.log(filters) |
|
|
console.log(filters) |
|
|
this.$pool |
|
|
this.$pool |
|
|
.subscribe(subid, filters) |
|
|
.subscribe(subid, filters) |
|
@ -86,25 +94,25 @@ export default { |
|
|
return |
|
|
return |
|
|
if(event.kind !== 10001) |
|
|
if(event.kind !== 10001) |
|
|
return |
|
|
return |
|
|
|
|
|
if(!event.tags.length) |
|
|
|
|
|
return |
|
|
|
|
|
if(!this.validNip23(event.tags)) |
|
|
|
|
|
invalid = true |
|
|
|
|
|
|
|
|
this.$pool.unsubscribe(subid) |
|
|
this.$pool.unsubscribe(subid) |
|
|
const parsed = this.parseNip23(event) |
|
|
|
|
|
// this.updateFavorites(parsed) |
|
|
resolve(event.tags) |
|
|
Object.keys(parsed).forEach( relay => { |
|
|
|
|
|
parsed[relay].read = parsed[relay].read == 'true' ? true : false |
|
|
|
|
|
parsed[relay].write = parsed[relay].write ? true : false |
|
|
|
|
|
}) |
|
|
|
|
|
this.persistNip23(parsed) |
|
|
|
|
|
this.setSyncStatus(parsed) |
|
|
|
|
|
// this.makeFavorites(parsed) |
|
|
|
|
|
console.log(event) |
|
|
|
|
|
resolve() |
|
|
|
|
|
}) |
|
|
}) |
|
|
this.$pool |
|
|
this.$pool |
|
|
.on('ok', () => console.log('event saved')) |
|
|
.on('ok', () => console.log('event saved')) |
|
|
setTimeout( () => resolve(), 2000 ) |
|
|
setTimeout( () => resolve(), 2000 ) |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
validNip23: function(tags){ |
|
|
|
|
|
const filtered = tags.filter( tag => tag.length === 3 ) |
|
|
|
|
|
if(tags.length === filtered.length) |
|
|
|
|
|
return true |
|
|
|
|
|
}, |
|
|
makeFavorites: function(nip23){ |
|
|
makeFavorites: function(nip23){ |
|
|
Object.keys(nip23).forEach( relay => { |
|
|
Object.keys(nip23).forEach( relay => { |
|
|
this.store.relays.setFavorite(relay) |
|
|
this.store.relays.setFavorite(relay) |
|
@ -156,16 +164,14 @@ export default { |
|
|
|
|
|
|
|
|
this.$pool.send(['EVENT', signedEvent]) |
|
|
this.$pool.send(['EVENT', signedEvent]) |
|
|
}, |
|
|
}, |
|
|
parseNip23: function(event){ |
|
|
|
|
|
return JSON.parse(event.content) |
|
|
|
|
|
}, |
|
|
|
|
|
updateFavorites: function(relays){ |
|
|
updateFavorites: function(relays){ |
|
|
Object.keys(relays).forEach( relayUrl => { |
|
|
Object.keys(relays).forEach( relayUrl => { |
|
|
this.store.relays.setFavorite(relayUrl) |
|
|
this.store.relays.setFavorite(relayUrl) |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
persistNip23: function(relays){ |
|
|
persistNip23: function(type, tags){ |
|
|
this.store.relays.setNip23(relays) |
|
|
const key = `nip23${type.charAt(0).toUpperCase()}` |
|
|
|
|
|
this.store.relays[key] = tags |
|
|
}, |
|
|
}, |
|
|
togglePopover: function(){ |
|
|
togglePopover: function(){ |
|
|
if(this.popoverShow){ |
|
|
if(this.popoverShow){ |
|
|