follow all nostr plebs

This commit is contained in:
HolgerHatGarKeineNode
2023-08-23 13:04:57 +02:00
parent 350135afdc
commit 8c2e341fe2
15 changed files with 208 additions and 101 deletions

120
composer.lock generated
View File

@@ -2888,16 +2888,16 @@
}, },
{ {
"name": "laravel/fortify", "name": "laravel/fortify",
"version": "v1.17.4", "version": "v1.17.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/fortify.git", "url": "https://github.com/laravel/fortify.git",
"reference": "110dd0d09b70461d651218240120e24ba8d8cbe1" "reference": "3d3ad9aaa46f686a5fe46a0af2ba907702019451"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/fortify/zipball/110dd0d09b70461d651218240120e24ba8d8cbe1", "url": "https://api.github.com/repos/laravel/fortify/zipball/3d3ad9aaa46f686a5fe46a0af2ba907702019451",
"reference": "110dd0d09b70461d651218240120e24ba8d8cbe1", "reference": "3d3ad9aaa46f686a5fe46a0af2ba907702019451",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2948,20 +2948,20 @@
"issues": "https://github.com/laravel/fortify/issues", "issues": "https://github.com/laravel/fortify/issues",
"source": "https://github.com/laravel/fortify" "source": "https://github.com/laravel/fortify"
}, },
"time": "2023-06-18T09:17:00+00:00" "time": "2023-08-02T13:57:32+00:00"
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v10.19.0", "version": "v10.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "b8557e4a708a1bd2bc8229bd53feecfa2ac1c6fb" "reference": "a655dca3fbe83897e22adff652b1878ba352d041"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/b8557e4a708a1bd2bc8229bd53feecfa2ac1c6fb", "url": "https://api.github.com/repos/laravel/framework/zipball/a655dca3fbe83897e22adff652b1878ba352d041",
"reference": "b8557e4a708a1bd2bc8229bd53feecfa2ac1c6fb", "reference": "a655dca3fbe83897e22adff652b1878ba352d041",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3148,7 +3148,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2023-08-15T13:42:57+00:00" "time": "2023-08-22T13:37:09+00:00"
}, },
{ {
"name": "laravel/horizon", "name": "laravel/horizon",
@@ -3465,16 +3465,16 @@
}, },
{ {
"name": "laravel/prompts", "name": "laravel/prompts",
"version": "v0.1.5", "version": "v0.1.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/prompts.git", "url": "https://github.com/laravel/prompts.git",
"reference": "d880a909df144a4bf5760ebd09aba114f79d9adc" "reference": "b514c5620e1b3b61221b0024dc88def26d9654f4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/prompts/zipball/d880a909df144a4bf5760ebd09aba114f79d9adc", "url": "https://api.github.com/repos/laravel/prompts/zipball/b514c5620e1b3b61221b0024dc88def26d9654f4",
"reference": "d880a909df144a4bf5760ebd09aba114f79d9adc", "reference": "b514c5620e1b3b61221b0024dc88def26d9654f4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3507,22 +3507,22 @@
], ],
"support": { "support": {
"issues": "https://github.com/laravel/prompts/issues", "issues": "https://github.com/laravel/prompts/issues",
"source": "https://github.com/laravel/prompts/tree/v0.1.5" "source": "https://github.com/laravel/prompts/tree/v0.1.6"
}, },
"time": "2023-08-15T14:29:44+00:00" "time": "2023-08-18T13:32:23+00:00"
}, },
{ {
"name": "laravel/sanctum", "name": "laravel/sanctum",
"version": "v3.2.5", "version": "v3.2.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/sanctum.git", "url": "https://github.com/laravel/sanctum.git",
"reference": "8ebda85d59d3c414863a7f4d816ef8302faad876" "reference": "217e8a2bc5aa6a827ced97fcb76504029d3115d7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/sanctum/zipball/8ebda85d59d3c414863a7f4d816ef8302faad876", "url": "https://api.github.com/repos/laravel/sanctum/zipball/217e8a2bc5aa6a827ced97fcb76504029d3115d7",
"reference": "8ebda85d59d3c414863a7f4d816ef8302faad876", "reference": "217e8a2bc5aa6a827ced97fcb76504029d3115d7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3535,9 +3535,9 @@
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "^1.0", "mockery/mockery": "^1.0",
"orchestra/testbench": "^7.0|^8.0", "orchestra/testbench": "^7.28.2|^8.8.3",
"phpstan/phpstan": "^1.10", "phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^9.3" "phpunit/phpunit": "^9.6"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -3575,7 +3575,7 @@
"issues": "https://github.com/laravel/sanctum/issues", "issues": "https://github.com/laravel/sanctum/issues",
"source": "https://github.com/laravel/sanctum" "source": "https://github.com/laravel/sanctum"
}, },
"time": "2023-05-01T19:39:51+00:00" "time": "2023-08-22T13:21:11+00:00"
}, },
{ {
"name": "laravel/serializable-closure", "name": "laravel/serializable-closure",
@@ -3639,16 +3639,16 @@
}, },
{ {
"name": "laravel/socialite", "name": "laravel/socialite",
"version": "v5.8.0", "version": "v5.8.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/socialite.git", "url": "https://github.com/laravel/socialite.git",
"reference": "50148edf24b6cd3e428aa9bc06a5d915b24376bb" "reference": "9989b4530331597fae811bca240bf4e8f15e804b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/socialite/zipball/50148edf24b6cd3e428aa9bc06a5d915b24376bb", "url": "https://api.github.com/repos/laravel/socialite/zipball/9989b4530331597fae811bca240bf4e8f15e804b",
"reference": "50148edf24b6cd3e428aa9bc06a5d915b24376bb", "reference": "9989b4530331597fae811bca240bf4e8f15e804b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3705,7 +3705,7 @@
"issues": "https://github.com/laravel/socialite/issues", "issues": "https://github.com/laravel/socialite/issues",
"source": "https://github.com/laravel/socialite" "source": "https://github.com/laravel/socialite"
}, },
"time": "2023-07-14T14:22:58+00:00" "time": "2023-08-21T13:06:52+00:00"
}, },
{ {
"name": "laravel/tinker", "name": "laravel/tinker",
@@ -5991,16 +5991,16 @@
}, },
{ {
"name": "openspout/openspout", "name": "openspout/openspout",
"version": "v4.15.1", "version": "v4.16.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/openspout/openspout.git", "url": "https://github.com/openspout/openspout.git",
"reference": "ef5396bfd44b3dfa092e78458966d25c7a2c931a" "reference": "3f0c3dbbfe2db2f6215eafddd9614b693ba1046b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/openspout/openspout/zipball/ef5396bfd44b3dfa092e78458966d25c7a2c931a", "url": "https://api.github.com/repos/openspout/openspout/zipball/3f0c3dbbfe2db2f6215eafddd9614b693ba1046b",
"reference": "ef5396bfd44b3dfa092e78458966d25c7a2c931a", "reference": "3f0c3dbbfe2db2f6215eafddd9614b693ba1046b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -6014,13 +6014,13 @@
}, },
"require-dev": { "require-dev": {
"ext-zlib": "*", "ext-zlib": "*",
"friendsofphp/php-cs-fixer": "^3.18.0", "friendsofphp/php-cs-fixer": "^3.23.0",
"infection/infection": "^0.27", "infection/infection": "^0.27",
"phpbench/phpbench": "^1.2.10", "phpbench/phpbench": "^1.2.14",
"phpstan/phpstan": "^1.10.19", "phpstan/phpstan": "^1.10.29",
"phpstan/phpstan-phpunit": "^1.3.13", "phpstan/phpstan-phpunit": "^1.3.13",
"phpstan/phpstan-strict-rules": "^1.5.1", "phpstan/phpstan-strict-rules": "^1.5.1",
"phpunit/phpunit": "^10.2.2" "phpunit/phpunit": "^10.3.2"
}, },
"suggest": { "suggest": {
"ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)", "ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)",
@@ -6068,7 +6068,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/openspout/openspout/issues", "issues": "https://github.com/openspout/openspout/issues",
"source": "https://github.com/openspout/openspout/tree/v4.15.1" "source": "https://github.com/openspout/openspout/tree/v4.16.0"
}, },
"funding": [ "funding": [
{ {
@@ -6080,7 +6080,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-08-11T08:32:26+00:00" "time": "2023-08-21T13:32:11+00:00"
}, },
{ {
"name": "paragonie/ciphersweet", "name": "paragonie/ciphersweet",
@@ -10051,16 +10051,16 @@
}, },
{ {
"name": "spatie/laravel-package-tools", "name": "spatie/laravel-package-tools",
"version": "1.16.0", "version": "1.16.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/spatie/laravel-package-tools.git", "url": "https://github.com/spatie/laravel-package-tools.git",
"reference": "38fe533e93f86a1b2fb1000bf7df09c4748e6458" "reference": "cc7c991555a37f9fa6b814aa03af73f88026a83d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/38fe533e93f86a1b2fb1000bf7df09c4748e6458", "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/cc7c991555a37f9fa6b814aa03af73f88026a83d",
"reference": "38fe533e93f86a1b2fb1000bf7df09c4748e6458", "reference": "cc7c991555a37f9fa6b814aa03af73f88026a83d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -10099,7 +10099,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/spatie/laravel-package-tools/issues", "issues": "https://github.com/spatie/laravel-package-tools/issues",
"source": "https://github.com/spatie/laravel-package-tools/tree/1.16.0" "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.1"
}, },
"funding": [ "funding": [
{ {
@@ -10107,7 +10107,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-08-09T14:08:04+00:00" "time": "2023-08-23T09:04:39+00:00"
}, },
{ {
"name": "spatie/laravel-permission", "name": "spatie/laravel-permission",
@@ -15328,16 +15328,16 @@
}, },
{ {
"name": "laravel-lang/http-statuses", "name": "laravel-lang/http-statuses",
"version": "v3.4.2", "version": "v3.4.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Laravel-Lang/http-statuses.git", "url": "https://github.com/Laravel-Lang/http-statuses.git",
"reference": "e5183b69e544bcd3641ff3dcd169134cf0b0c4c7" "reference": "0bd05c814ac28e826bb243b4ab5e1a12fd58e0ce"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Laravel-Lang/http-statuses/zipball/e5183b69e544bcd3641ff3dcd169134cf0b0c4c7", "url": "https://api.github.com/repos/Laravel-Lang/http-statuses/zipball/0bd05c814ac28e826bb243b4ab5e1a12fd58e0ce",
"reference": "e5183b69e544bcd3641ff3dcd169134cf0b0c4c7", "reference": "0bd05c814ac28e826bb243b4ab5e1a12fd58e0ce",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -15392,7 +15392,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/Laravel-Lang/http-statuses/issues", "issues": "https://github.com/Laravel-Lang/http-statuses/issues",
"source": "https://github.com/Laravel-Lang/http-statuses/tree/v3.4.2" "source": "https://github.com/Laravel-Lang/http-statuses/tree/v3.4.3"
}, },
"funding": [ "funding": [
{ {
@@ -15400,7 +15400,7 @@
"type": "open_collective" "type": "open_collective"
} }
], ],
"time": "2023-08-15T01:23:24+00:00" "time": "2023-08-22T01:18:47+00:00"
}, },
{ {
"name": "laravel-lang/lang", "name": "laravel-lang/lang",
@@ -17607,16 +17607,16 @@
}, },
{ {
"name": "spatie/ignition", "name": "spatie/ignition",
"version": "1.9.0", "version": "1.10.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/spatie/ignition.git", "url": "https://github.com/spatie/ignition.git",
"reference": "de24ff1e01814d5043bd6eb4ab36a5a852a04973" "reference": "d92b9a081e99261179b63a858c7a4b01541e7dd1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/spatie/ignition/zipball/de24ff1e01814d5043bd6eb4ab36a5a852a04973", "url": "https://api.github.com/repos/spatie/ignition/zipball/d92b9a081e99261179b63a858c7a4b01541e7dd1",
"reference": "de24ff1e01814d5043bd6eb4ab36a5a852a04973", "reference": "d92b9a081e99261179b63a858c7a4b01541e7dd1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -17686,20 +17686,20 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-06-28T13:24:59+00:00" "time": "2023-08-21T15:06:37+00:00"
}, },
{ {
"name": "spatie/laravel-ignition", "name": "spatie/laravel-ignition",
"version": "2.2.0", "version": "2.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/spatie/laravel-ignition.git", "url": "https://github.com/spatie/laravel-ignition.git",
"reference": "dd15fbe82ef5392798941efae93c49395a87d943" "reference": "4ed813d16edb5a1ab0d7f4b1d116c37ee8cdf3c0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/dd15fbe82ef5392798941efae93c49395a87d943", "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/4ed813d16edb5a1ab0d7f4b1d116c37ee8cdf3c0",
"reference": "dd15fbe82ef5392798941efae93c49395a87d943", "reference": "4ed813d16edb5a1ab0d7f4b1d116c37ee8cdf3c0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -17778,7 +17778,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-06-28T13:51:52+00:00" "time": "2023-08-23T06:24:34+00:00"
}, },
{ {
"name": "symfony/polyfill-php81", "name": "symfony/polyfill-php81",

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -845,5 +845,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -885,5 +885,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "Gehe zu deinem Profil und füge deine Nostr-npub hinzu. Danach kannst du dich auch hier auf dem Portal mit Nostr einloggen.", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "Gehe zu deinem Profil und füge deine Nostr-npub hinzu. Danach kannst du dich auch hier auf dem Portal mit Nostr einloggen.",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "Eingeoggt in Nostr als:", "Logged into Nostr as:": "Eingeoggt in Nostr als:",
"NPUB copied!": "NPUB kopiert!" "NPUB copied!": "NPUB kopiert!",
"Successfully followed all nostr plebs": "Erfolgreich alle Nostr Plebs gefolgt",
"Follow all": "Folge allen"
} }

View File

@@ -885,5 +885,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -885,5 +885,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -886,5 +886,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -886,5 +886,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -886,5 +886,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -886,5 +886,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -886,5 +886,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -886,5 +886,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -848,5 +848,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -860,5 +860,7 @@
"Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "", "Go to your profile and add your Nostr-npub. After that you can also log in with Nostr here on the portal.": "",
"NIP-07 Login": "", "NIP-07 Login": "",
"Logged into Nostr as:": "", "Logged into Nostr as:": "",
"NPUB copied!": "" "NPUB copied!": "",
"Successfully followed all nostr plebs": "",
"Follow all": ""
} }

View File

@@ -5,6 +5,9 @@
<div class="bg-21gray py-24 sm:py-32" <div class="bg-21gray py-24 sm:py-32"
wire:ignore wire:ignore
x-data="{ x-data="{
width: '0',
loading: true,
loadingFollow: false,
plebsNpubs: @entangle('plebsNpubs'), plebsNpubs: @entangle('plebsNpubs'),
plebs: [], plebs: [],
ndk: null, ndk: null,
@@ -24,6 +27,7 @@
); );
}, },
async init() { async init() {
$watch('width', value => { if (value > 100) { width = 100 } if (value == 0) { width = 10 } });
this.ndk = new window.NDK({ this.ndk = new window.NDK({
explicitRelayUrls: [ explicitRelayUrls: [
'wss://eden.nostr.land', 'wss://eden.nostr.land',
@@ -42,16 +46,24 @@
], ],
}); });
this.ndk.connect(); this.ndk.connect();
this.plebsNpubs.forEach(async npub => { const length = this.plebsNpubs.filter(npub => npub.includes('npub1')).length;
const ndkUser = this.ndk.getUser({ let counter = 1;
npub, for (const npub of this.plebsNpubs) {
}); if(npub.includes('npub1')) {
await ndkUser.fetchProfile(); const ndkUser = this.ndk.getUser({
if (ndkUser.profile.image) { npub,
ndkUser.profile.npub = npub; });
this.plebs.push(ndkUser); await ndkUser.fetchProfile();
if (ndkUser.profile.image) {
ndkUser.profile.npub = npub;
this.plebs.push(ndkUser);
this.width = Math.round(counter / length * 100);
counter++;
}
} }
}); }
this.loading = false;
console.log('LOADING FALSE');
}, },
login () { login () {
this.nip07signer = new window.NDKNip07Signer(); this.nip07signer = new window.NDKNip07Signer();
@@ -88,6 +100,20 @@
} }
}); });
}, },
async followAll() {
this.width = 0;
this.loadingFollow = true;
const length = this.plebs.length;
let counter = 1;
for (const pleb of this.plebs) {
const follow = await this.currentUser.follow(pleb);
console.log(follow);
this.width = Math.round(counter / length * 100);
counter++;
}
this.loadingFollow = false;
window.$wireui.notify({title:'{{ __('Successfully followed all nostr plebs') }}',icon:'success'});
},
async follow(npubToFollow) { async follow(npubToFollow) {
this.followUser = this.ndk.getUser({ this.followUser = this.ndk.getUser({
npub: npubToFollow, npub: npubToFollow,
@@ -116,48 +142,105 @@
<a class="text-amber-500" href="{{ route('profile.show') }}">{{ __('Profile') }}</a> <a class="text-amber-500" href="{{ route('profile.show') }}">{{ __('Profile') }}</a>
</p> </p>
@endauth @endauth
{{--<p class="mt-8"> <p class="mt-8">
<x-button x-show="!currentUser" primary label="{{ __('NIP-07 Login') }}" icon="login" <x-button x-show="!currentUser" primary label="{{ __('NIP-07 Login') }}" icon="login"
@click="login()"/> @click="login()"/>
</p>--}} </p>
<h3 x-show="currentUser && currentUser.profile" class="py-4 text-gray-100 text-2xl"> <h3 x-show="currentUser && currentUser.profile" class="py-4 text-gray-100 text-2xl">
{{ __('Logged into Nostr as:') }} {{ __('Logged into Nostr as:') }}
</h3> </h3>
<div <template x-if="currentUser && currentUser.profile">
x-show="currentUser && currentUser.profile" <div
class="block flex-shrink-0 mt-8"> x-show="currentUser && currentUser.profile.image"
<div class="flex items-center"> class="block flex-shrink-0 mt-8">
<div> <div class="flex items-center">
<img class="inline-block h-9 w-9 rounded-full" <div>
:src="currentUser.profile.image" <img class="inline-block h-9 w-9 rounded-full"
:alt="currentUser.profile.image" :src="currentUser.profile.image"
> :alt="currentUser.profile.image"
</div> >
<div class="ml-3"> </div>
<p class="text-sm font-medium text-gray-100" x-text="currentUser.profile.name"></p> <div class="ml-3">
<p class="text-xs font-medium text-gray-200" x-text="currentUser.profile.nip05"></p> <p class="text-sm font-medium text-gray-100" x-text="currentUser.profile.name"></p>
<p class="text-xs font-medium text-gray-200" x-text="currentUser.profile.nip05"></p>
</div>
</div> </div>
</div> </div>
</div> </template>
</div> </div>
<div> <div>
<div class="py-4"> <div class="py-4 flex space-x-4">
<x-input x-ref="searchInput" x-model="search" placeholder="{{ __('Search') }}"/> <div class="w-1/2">
<x-input x-ref="searchInput" x-model="search" placeholder="{{ __('Search') }}"/>
</div>
<div>
<x-button
::disabled="loadingFollow"
@click.prevent="followAll()"
x-show="currentUser && currentUser.profile"
>
<i class="fa-thin fa-user-plus mr-2"></i>
{{ __('Follow all') }}
</x-button>
</div>
</div>
<div
x-show="loading"
class="relative block w-full rounded-lg border-2 border-dashed border-purple-300 p-12 text-center hover:border-purple-400 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2">
<div
class="bg-purple-200 rounded h-6 mt-5"
role="progressbar"
:aria-valuenow="width"
aria-valuemin="0"
aria-valuemax="100"
>
<div
class="bg-purple-500 rounded h-6 text-center text-white text-sm transition"
:style="`width: ${width}%; transition: width 2s;`"
x-text="`${width}%`"
>
</div>
</div>
<img src="{{ asset('img/running-nostr.gif') }}" alt="running-nostr" class="mt-2 block text-sm font-semibold text-gray-900"/>
<span class="mt-2 block text-sm font-semibold text-gray-100">Loadingstr...</span>
</div>
<div
x-show="loadingFollow"
class="relative block w-full rounded-lg border-2 border-dashed border-purple-300 p-12 text-center hover:border-purple-400 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2">
<div
class="bg-purple-200 rounded h-6 mt-5"
role="progressbar"
:aria-valuenow="width"
aria-valuemin="0"
aria-valuemax="100"
>
<div
class="bg-purple-500 rounded h-6 text-center text-white text-sm transition"
:style="`width: ${width}%; transition: width 2s;`"
x-text="`${width}%`"
>
</div>
</div>
<img src="{{ asset('img/running-nostr.gif') }}" alt="running-nostr" class="mt-2 block text-sm font-semibold text-gray-900"/>
<span class="mt-2 block text-sm font-semibold text-gray-100">Followstr...</span>
</div> </div>
<ul role="list" class="divide-y divide-gray-100"> <ul role="list" class="divide-y divide-gray-100">
<template x-for="pleb in searchResults"> <template x-for="pleb in searchResults">
<li class="flex items-center justify-between gap-x-6 py-5"> <li class="flex items-center justify-between gap-x-6 py-5" x-show="!loading && !loadingFollow">
<div class="flex min-w-0 gap-x-4"> <div class="flex min-w-0 gap-x-4">
<img class="h-12 w-12 flex-none rounded-full bg-gray-50" <img class="h-12 w-12 flex-none rounded-full bg-gray-50"
:src="pleb.profile.image" :src="pleb.profile.image"
:alt="pleb.profile.name" :alt="pleb.profile.name"
> >
<div class="min-w-0 flex-auto"> <div class="min-w-0 flex-auto">
<p class="text-sm font-semibold leading-6 text-gray-100" x-text="pleb.profile.name"></p> <p class="text-sm font-semibold leading-6 text-gray-100"
x-text="pleb.profile.name"></p>
<p class="mt-1 truncate text-xs leading-5 text-gray-200" <p class="mt-1 truncate text-xs leading-5 text-gray-200"
x-text="pleb.profile.nip05"></p> x-text="pleb.profile.nip05"></p>
</div> </div>