flotilla/src/app/routes.ts

25 lines
794 B
TypeScript
Raw Normal View History

2024-08-16 17:50:38 +00:00
import type {Page} from "@sveltejs/kit"
import {userGroupsByNom} from "@app/state"
2024-08-15 19:08:07 +00:00
export const makeSpacePath = (nom: string) => `/spaces/${nom}`
export const getPrimaryNavItem = ($page: Page) => {
2024-08-16 17:50:38 +00:00
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)) {
2024-08-16 17:50:38 +00:00
case "discover":
return userGroupsByNom.get().size + 2
2024-08-16 17:50:38 +00:00
case "space":
return Array.from(userGroupsByNom.get().keys()).findIndex(nom => nom === $page.params.nom) + 1
2024-08-16 17:50:38 +00:00
case "settings":
return userGroupsByNom.get().size + 3
default:
return 0
}
}