{#snippet icon()}
{/snippet} {#snippet title()} Home {/snippet} {#snippet action()}
{#if !$userRoomsByUrl.has(url)} {:else if pubkey} Contact Owner {/if}
{/snippet}
{#if $relay?.profile?.icon} {:else} {/if}

{displayRelayUrl(url)}

{#if $relay?.profile?.pubkey}

Relay Admin: {$relay.profile.pubkey.slice(0, 8)}...{$relay.profile.pubkey.slice(-8)}

{/if}

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 $socket.status === SocketStatus.Open} {#if $socket.auth.status === AuthStatus.None} Connected {:else if $socket.auth.status === AuthStatus.Requested} Authenticating {:else if $socket.auth.status === AuthStatus.PendingSignature} Authenticating {:else if $socket.auth.status === AuthStatus.DeniedSignature} Failed to Authenticate {:else if $socket.auth.status === AuthStatus.PendingResponse} Authenticating {:else if $socket.auth.status === AuthStatus.Forbidden} Access Denied {:else if $socket.auth.status === AuthStatus.Ok} Connected {/if} {:else if $socket.status === SocketStatus.Opening} Connecting {:else if $socket.status === SocketStatus.Closing} Not Connected {:else if $socket.status === SocketStatus.Closed} Not Connected {:else if $socket.status === SocketStatus.Error} Failed to Connect {/if} {#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}