diff --git a/ui/noogle/src/components/FilterGeneration.vue b/ui/noogle/src/components/FilterGeneration.vue
index 6e4b618..377786f 100644
--- a/ui/noogle/src/components/FilterGeneration.vue
+++ b/ui/noogle/src/components/FilterGeneration.vue
@@ -880,6 +880,9 @@ async function zap_local(invoice) {
}
+
+
+
async function mute_all(results){
console.log(results)
let client = store.state.client
@@ -1066,15 +1069,92 @@ async function mute(result) {
+async function unfollow_all(results){
+ let keys = Keys.parse(store.state.nooglekey)
+ let signer = NostrSigner.keys(keys)
+ let limits = RelayLimits.disable()
+ let relayopts = new Options().relayLimits(limits);
+ let dbclient = new ClientBuilder().signer(signer).opts(relayopts).build()
+ await dbclient.addRelay("wss://relay.damus.io");
+ await dbclient.addRelay( "wss://purplepag.es");
+ await dbclient.connect()
+ let found = false
+ let element
+ let publicKey = store.state.pubkey
+ console.log(publicKey.toHex())
+ let followers_filter = new Filter().author(publicKey).kind(3).limit(1)
+ let followers = await dbclient.getEventsOf([followers_filter], Duration.fromSecs(5))
+ console.log(followers.length)
+ let contacts = []
+ let followings = [] //TODO legacy, try to remove with contacts
+ let ids = []
+ if (followers.length > 0){
+ for (let tag of followers[0].tags) {
+ if (tag.asVec()[0] === "p") {
+ let following = tag.asVec()[1]
+ let contact = new Contact(PublicKey.parse(tag.asVec()[1]), tag.asVec()[2], tag.asVec()[3])
+ contacts.push(contact)
+ followings.push(PublicKey.parse(following))
+ ids.push(following)
+ }
+ }
+
+
+ console.log(contacts)
+ for (let result of results) {
+ for (let em of contacts) {
+ if (em.publicKey.toHex() === result.authorid) {
+ found = true
+ element = em
+ break
+ }
+
+ }
+ // let element = store.state.contacts.find(x => x.publicKey.toHex() === result.authorid)
+
+ if (found) {
+
+ console.log(element)
+ let index = contacts.indexOf(element)
+ console.log(index)
+ console.log(contacts.length)
+
+ let rm = contacts.splice(index, 1)
+ store.commit('set_contacts', contacts)
+ store.commit('set_followings', ids)
+
+
+ try {
+
+ let event = EventBuilder.contactList(contacts)
+ let client = store.state.client
+ let requestid = await client.sendEventBuilder(event);
+
+ console.log("unfollowing " + result.event.profile.name + " " + requestid.toHex())
+ console.log(contacts)
+
+ return true
+ } catch (error) {
+ console.log(error)
+ }
+
+ }
+ else {
+ console.log("not found")
+ return false
+ }
+
+ }}
+
+}
async function unfollow(result){
- let dbclient = Client
let keys = Keys.parse(store.state.nooglekey)
let signer = NostrSigner.keys(keys)
let limits = RelayLimits.disable()
let relayopts = new Options().relayLimits(limits);
- dbclient = new ClientBuilder().signer(signer).opts(relayopts).build()
+ let dbclient = new ClientBuilder().signer(signer).opts(relayopts).build()
await dbclient.addRelay("wss://relay.damus.io");
await dbclient.addRelay( "wss://purplepag.es");
await dbclient.connect()
@@ -1549,6 +1629,11 @@ const submitHandler = async () => {
store.commit('set_filter_dvms', dvms)">
Mute All
+
+