- Conversations
-
-
+ {#if getPrimaryNavItem($page) === 'discover'}
+
+
+ Spaces
+
-
+
+
+ Themes
+
+
+ {:else if getPrimaryNavItem($page) === 'space'}
+
+ {:else if getPrimaryNavItem($page) === 'settings'}
+
+ {:else}
+
+
+ Home
+
+
+
+
+ People
+
+
+
+
+ Saved Notes
+
+
+
+ {/if}
diff --git a/src/app/routes.ts b/src/app/routes.ts
new file mode 100644
index 0000000..5819e3e
--- /dev/null
+++ b/src/app/routes.ts
@@ -0,0 +1,22 @@
+import type {Page} from '@sveltejs/kit'
+import {userGroupsByNom} from '@app/state'
+
+export const getPrimaryNavItem = ($page: Page) => {
+ if ($page.route?.id?.match('^/(spaces|themes)$')) return 'discover'
+ if ($page.route?.id?.startsWith('/spaces')) return 'space'
+ if ($page.route?.id?.startsWith('/settings')) return 'settings'
+ return 'home'
+}
+
+export const getPrimaryNavItemIndex = ($page: Page) => {
+ switch (getPrimaryNavItem($page)) {
+ case 'discover':
+ return userGroupsByNom.get().size + 2
+ case 'space':
+ return Array.from(userGroupsByNom.get().keys()).findIndex(nom => nom === $page.params.nom) + 1
+ case 'settings':
+ return userGroupsByNom.get().size + 3
+ default:
+ return 0
+ }
+}
diff --git a/src/app/state.ts b/src/app/state.ts
index 8409bb0..fa9796a 100644
--- a/src/app/state.ts
+++ b/src/app/state.ts
@@ -454,8 +454,8 @@ export const groupMemberships = deriveEventsMapped