+
Loading event...
{/if}
diff --git a/src/app/components/RelayAdd.svelte b/src/app/components/RelayAdd.svelte
new file mode 100644
index 00000000..931ab9a7
--- /dev/null
+++ b/src/app/components/RelayAdd.svelte
@@ -0,0 +1,50 @@
+
+
+
+
+ {#each $relaySearch.searchValues(term).filter(url => !$relays.includes(url)).slice(0, limit) as url (url)}
+
+
+
+ {/each}
+
diff --git a/src/app/components/RelayItem.svelte b/src/app/components/RelayItem.svelte
new file mode 100644
index 00000000..1d6e2480
--- /dev/null
+++ b/src/app/components/RelayItem.svelte
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ {displayRelayUrl(url)}
+
+
+
+ {#if $relay?.profile?.description}
+
{$relay?.profile.description}
+ {/if}
+
+ {#if $relay?.profile?.contact}
+ {displayUrl($relay.profile.contact)}
+ •
+ {/if}
+ {#if $relay?.profile?.supported_nips}
+
+ {$relay.profile.supported_nips.length} NIPs
+
+ •
+ {/if}
+ Connected {connections} {connections === 1 ? 'time' : 'times'}
+
+
diff --git a/src/assets/icons/Alt Arrow Up.svg b/src/assets/icons/Alt Arrow Up.svg
new file mode 100644
index 00000000..f7f105fc
--- /dev/null
+++ b/src/assets/icons/Alt Arrow Up.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/icons/Inbox.svg b/src/assets/icons/Inbox.svg
new file mode 100644
index 00000000..cea7e64e
--- /dev/null
+++ b/src/assets/icons/Inbox.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/assets/icons/Mailbox.svg b/src/assets/icons/Mailbox.svg
new file mode 100644
index 00000000..51306a21
--- /dev/null
+++ b/src/assets/icons/Mailbox.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/lib/components/Collapse.svelte b/src/lib/components/Collapse.svelte
new file mode 100644
index 00000000..bc58ceba
--- /dev/null
+++ b/src/lib/components/Collapse.svelte
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+ {#if isOpen}
+
+
+
+ {/if}
+
diff --git a/src/lib/components/Icon.svelte b/src/lib/components/Icon.svelte
index f2ff0474..b22ed3a1 100644
--- a/src/lib/components/Icon.svelte
+++ b/src/lib/components/Icon.svelte
@@ -19,6 +19,7 @@
import AddCircle from "@assets/icons/Add Circle.svg?dataurl"
import AltArrowDown from "@assets/icons/Alt Arrow Down.svg?dataurl"
import AltArrowRight from "@assets/icons/Alt Arrow Right.svg?dataurl"
+ import AltArrowUp from "@assets/icons/Alt Arrow Up.svg?dataurl"
import AltArrowLeft from "@assets/icons/Alt Arrow Left.svg?dataurl"
import ArrowRight from "@assets/icons/Arrow Right.svg?dataurl"
import Bag from "@assets/icons/Bag.svg?dataurl"
@@ -41,6 +42,7 @@
import Hashtag from "@assets/icons/Hashtag.svg?dataurl"
import HandPills from "@assets/icons/Hand Pills.svg?dataurl"
import HomeSmile from "@assets/icons/Home Smile.svg?dataurl"
+ import Inbox from "@assets/icons/Inbox.svg?dataurl"
import InfoCircle from "@assets/icons/Info Circle.svg?dataurl"
import InfoSquare from "@assets/icons/Info Square.svg?dataurl"
import Key from "@assets/icons/Key.svg?dataurl"
@@ -48,6 +50,7 @@
import Login from "@assets/icons/Login.svg?dataurl"
import Login2 from "@assets/icons/Login 2.svg?dataurl"
import Magnifer from "@assets/icons/Magnifer.svg?dataurl"
+ import Mailbox from "@assets/icons/Mailbox.svg?dataurl"
import MapPoint from "@assets/icons/Map Point.svg?dataurl"
import MenuDots from "@assets/icons/Menu Dots.svg?dataurl"
import NotesMinimalistic from "@assets/icons/Notes Minimalistic.svg?dataurl"
@@ -86,6 +89,7 @@
"add-circle": AddCircle,
"alt-arrow-down": AltArrowDown,
"alt-arrow-right": AltArrowRight,
+ "alt-arrow-up": AltArrowUp,
"alt-arrow-left": AltArrowLeft,
"arrow-right": ArrowRight,
bag: Bag,
@@ -108,6 +112,7 @@
hashtag: Hashtag,
"hand-pills": HandPills,
"home-smile": HomeSmile,
+ "inbox": Inbox,
"info-circle": InfoCircle,
"info-square": InfoSquare,
key: Key,
@@ -115,6 +120,7 @@
login: Login,
"login-2": Login2,
magnifer: Magnifer,
+ mailbox: Mailbox,
"map-point": MapPoint,
"menu-dots": MenuDots,
"notes-minimalistic": NotesMinimalistic,
diff --git a/src/lib/components/ModalBox.svelte b/src/lib/components/ModalBox.svelte
index 1befa5cc..f04592a6 100644
--- a/src/lib/components/ModalBox.svelte
+++ b/src/lib/components/ModalBox.svelte
@@ -5,6 +5,6 @@
export let props = {}
-
+
diff --git a/src/routes/settings/relays/+page.svelte b/src/routes/settings/relays/+page.svelte
index 82e62854..bc88db5e 100644
--- a/src/routes/settings/relays/+page.svelte
+++ b/src/routes/settings/relays/+page.svelte
@@ -1,92 +1,114 @@
-
Relays
-
Get connected with the nostr network
- {#each currentRelayUrls as url}
- {@const read = $readRelayUrls.includes(url)}
- {@const write = $writeRelayUrls.includes(url)}
- {@const inbox = $inboxRelayUrls.includes(url)}
-
-
-
-
- {displayRelayUrl(url)}
-
-
-
-
- {/each}
-
- {#each $relaySearch.searchValues(term).filter(url => !currentRelayUrls.includes(url)) as url (url)}
-
-
-
- {displayRelayUrl(url)}
-
-
- {/each}
+
+
+
+
+ Inbox Relays
+
+
+ These relays will be advertised on your profile as places where other people should
+ send notes intended for you. Be sure to select relays that will accept notes that
+ tag you.
+
+
+ {#each $readRelayUrls.sort() as url (url)}
+
+ removeReadRelay(url)}>
+
+
+
+ {:else}
+
No relays found
+ {/each}
+
addRelay('read', readRelayUrls)}>
+
+ Add Relay
+
+
+
+
+
+
+ Messaging Relays
+
+
+ These relays will be advertised on your profile as places you use to send and
+ receive direct messages. Be sure to select relays that will accept your messages
+ and messages from people you'd like to be in contact with.
+
+
+ {#each $inboxRelayUrls.sort() as url (url)}
+
+ removeInboxRelay(url)}>
+
+
+
+ {:else}
+
No relays found
+ {/each}
+
addRelay('inbox', inboxRelayUrls)}>
+
+ Add Relay
+
+
+