+ class="center !flex h-16 w-16 min-w-16 rounded-full border-2 border-solid border-base-300 bg-base-300">
{#if $relay?.profile?.icon}

{:else}
-
+
{/if}
-
-
+
+
-
-
{displayRelayUrl(url)}
+
+
{displayRelayUrl(url)}
+ {#if $relay?.profile?.pubkey}
+
+
+ Relay Admin: {$relay.profile.pubkey.slice(0, 8)}...{$relay.profile.pubkey.slice(-8)}
+
+ {/if}
-
- {#if $relay?.profile}
- {@const {software, version, supported_nips, limitation} = $relay.profile}
-
- {#if limitation?.auth_required}
-
- Authentication Required
-
- {/if}
- {#if limitation?.payment_required}
-
Payment Required
- {/if}
- {#if limitation?.min_pow_difficulty}
-
- Requires PoW {limitation?.min_pow_difficulty}
-
- {/if}
- {#if Array.isArray(supported_nips)}
-
- NIPs: {supported_nips.join(", ")}
-
- {/if}
- {#if software}
-
Software: {software}
- {/if}
- {#if version}
-
Version: {version}
- {/if}
-
- {/if}
-
-
Your Rooms
-
-
-
-
- Threads
- {#if $notifications.has(threadsPath)}
-
-
- {/if}
-
-
-
-
-
- Calendar
- {#if $notifications.has(calendarPath)}
-
-
- {/if}
-
-
- {#each $userRooms as room (room)}
- {@const roomPath = makeRoomPath(url, room)}
- {@const channel = $channelsById.get(makeChannelId(url, room))}
-
-
- {#if channel?.closed || channel?.private}
-
- {:else}
-
- {/if}
-
-
- {#if $notifications.has(roomPath)}
-
- {/if}
-
- {/each}
-
-
Other Rooms
-
- {#each $otherRooms as room (room)}
- {@const channel = $channelsById.get(makeChannelId(url, room))}
-
-
- {#if channel?.closed || channel?.private}
-
- {:else}
-
- {/if}
-
-
-
- {/each}
- {#if hasNip29($relay)}
-
- {/if}
-
- {#if pubkey}
-
Recent posts from the relay admin
-
+
+
+
+ Quick Links
+
+
+
+
+
+ Threads
+ {#if $notifications.has(threadsPath)}
+
+
+ {/if}
+
+
+
+
+
+ Calendar
+ {#if $notifications.has(calendarPath)}
+
+
+ {/if}
+
+
+ {#if $userRooms.length + $otherRooms.length > 10}
+
+
+
+ {/if}
+ {#each ($userRooms.length + $otherRooms.length > 10 ? filteredRooms() : [...$userRooms, ...$otherRooms]).slice(0, 10) as room (room)}
+ {@const roomPath = makeRoomPath(url, room)}
+ {@const channel = $channelsById.get(makeChannelId(url, room))}
+
+
+ {#if channel?.closed || channel?.private}
+
+ {:else}
+
+ {/if}
+
+
+ {#if $notifications.has(roomPath)}
+
+
+ {/if}
+
+ {/each}
+ {#if hasNip29($relay)}
+
+ {/if}
+
+
+
+
+ {#if pubkey}
+
+
+
+ Recent Posts from Relay Admin
+
+
+ {#if relayAdminEvents.length > 0}
+
+ {:else}
+
No recent posts from the relay admin
+ {/if}
+
+
+ {/if}
+
+
+
+ Recent Activity
+
+
+ {#if $userRooms.length > 0}
+ {#each $userRooms.slice(0, 3) as room (room)}
+ {@const channel = $channelsById.get(makeChannelId(url, room))}
+
+
+ {#if channel?.closed || channel?.private}
+
+ {:else}
+
+ {/if}
+
+
+
+
+
Active conversations
+
+ {/each}
+ {:else}
+
No recent activity
+ {/if}
+
+
+
+
+
+
+
+ Relay Status
+
+
+
+ {#if $relay?.profile}
+ {@const {software, version, supported_nips, limitation} = $relay.profile}
+
+ {#if $relay?.profile?.contact}
+
+ Contact: {$relay.profile.contact}
+
+ {/if}
+ {#if software}
+
+ Software: {software}
+
+ {/if}
+ {#if version}
+
+ Version: {version}
+
+ {/if}
+ {#if Array.isArray(supported_nips)}
+
+ Supported NIPs: {supported_nips.join(", ")}
+
+ {/if}
+ {#if limitation?.auth_required}
+
+ Auth Required
+
+ {/if}
+ {#if limitation?.payment_required}
+
+ Payment Required
+
+ {/if}
+ {#if limitation?.min_pow_difficulty}
+
+ Min PoW: {limitation?.min_pow_difficulty}
+
+ {/if}
+
+ {/if}
+
+
+
+