diff --git a/src/routes/settings/profile/+page.svelte b/src/routes/settings/profile/+page.svelte
index 8295299a..b01b9e4d 100644
--- a/src/routes/settings/profile/+page.svelte
+++ b/src/routes/settings/profile/+page.svelte
@@ -56,48 +56,64 @@
{#if $session?.email}
- Public Key
-
-
- Your public key is your nostr user identifier. It also allows other people to authenticate
- your messages.
-
-
- {#if $session?.method === "nip01"}
-
- Private Key
-
+ {#if $session?.method === "nip01"}
+
+ {#snippet label()}
+ Private Key
+ {/snippet}
+ {#snippet input()}
+
+ {/snippet}
+ {#snippet info()}
+ Your private key is your nostr password. Keep this somewhere safe!
+ {/snippet}
{/if}
diff --git a/src/routes/settings/relays/+page.svelte b/src/routes/settings/relays/+page.svelte
index d901006c..d219d3a4 100644
--- a/src/routes/settings/relays/+page.svelte
+++ b/src/routes/settings/relays/+page.svelte
@@ -53,15 +53,19 @@
-
-
- Outbox Relays
-
-
- These relays will be advertised on your profile as places where you send your public notes. Be
- sure to select relays that will accept your notes, and which will let people who follow you
- read them.
-
+ {#snippet title()}
+
+
+ Outbox Relays
+
+ {/snippet}
+ {#snippet description()}
+
+ These relays will be advertised on your profile as places where you send your public notes.
+ Be sure to select relays that will accept your notes, and which will let people who follow
+ you read them.
+
+ {/snippet}
{#each $writeRelayUrls.sort() as url (url)}
@@ -82,14 +86,18 @@
-
-
- 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.
-
+ {#snippet title()}
+
+
+ Inbox Relays
+
+ {/snippet}
+ {#snippet description()}
+
+ 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.
+
+ {/snippet}
{#each $readRelayUrls.sort() as url (url)}
@@ -110,15 +118,19 @@
-
-
- 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.
-
+ {#snippet title()}
+
+
+ Messaging Relays
+
+ {/snippet}
+ {#snippet description()}
+
+ 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.
+
+ {/snippet}
{#each $inboxRelayUrls.sort() as url (url)}
diff --git a/src/routes/spaces/+layout.svelte b/src/routes/spaces/+layout.svelte
index 62dc2a2a..7bd8a94b 100644
--- a/src/routes/spaces/+layout.svelte
+++ b/src/routes/spaces/+layout.svelte
@@ -1,7 +1,12 @@
{#key $page.params.relay}
-
+ {@render children?.()}
{/key}
diff --git a/src/routes/spaces/[relay]/+layout.svelte b/src/routes/spaces/[relay]/+layout.svelte
index a2f01a1b..f0c56fb7 100644
--- a/src/routes/spaces/[relay]/+layout.svelte
+++ b/src/routes/spaces/[relay]/+layout.svelte
@@ -1,4 +1,6 @@
-
-
-
- Home
-
- {#if !$userRoomsByUrl.has(url)}
-
-
- Join Space
-
- {:else if pubkey}
-
-
- Contact Owner
-
- {/if}
-
-
+ {#snippet icon()}
+
+
+
+ {/snippet}
+ {#snippet title()}
+ Home
+ {/snippet}
+ {#snippet action()}
+
+ {#if !$userRoomsByUrl.has(url)}
+
+
+ Join Space
+
+ {:else if pubkey}
+
+
+ Contact Owner
+
+ {/if}
+
+
+ {/snippet}
diff --git a/src/routes/spaces/[relay]/[room]/+page.svelte b/src/routes/spaces/[relay]/[room]/+page.svelte
index 8645702f..ee572a39 100644
--- a/src/routes/spaces/[relay]/[room]/+page.svelte
+++ b/src/routes/spaces/[relay]/[room]/+page.svelte
@@ -1,4 +1,5 @@