import type { HousekeepingRouteHandler } from "../../route-handlers"; import { renderPeopleCommunityPage } from "./pages/community"; import { renderPeopleMultiAccountsPage } from "./pages/multi-accounts"; import { renderPeopleStaffPage } from "./pages/staff"; import { renderPeopleUserDetailPage } from "./pages/user-detail"; import { renderPeopleUserEditPage } from "./pages/user-edit"; import { renderPeopleUsersPage } from "./pages/users"; export const PEOPLE_PRIMARY_ROUTE_IDS = [ "people.users.list", "people.users.edit", "people.users.multi-accounts", "people.users.detail", "people.community.online", "people.community.guilds", "people.community.guild-detail", "people.staff.applications", "people.staff.teams", ] as const; type PeoplePrimaryRouteId = (typeof PEOPLE_PRIMARY_ROUTE_IDS)[number]; function rendererFor( routeId: PeoplePrimaryRouteId, ): HousekeepingRouteHandler["render"] { if (routeId === "people.users.list") return renderPeopleUsersPage; if (routeId === "people.users.edit") return renderPeopleUserEditPage; if (routeId === "people.users.multi-accounts") return renderPeopleMultiAccountsPage; if (routeId === "people.users.detail") return renderPeopleUserDetailPage; if (routeId.startsWith("people.community.")) return renderPeopleCommunityPage; return renderPeopleStaffPage; } export const PEOPLE_PRIMARY_ROUTE_HANDLERS: readonly HousekeepingRouteHandler[] = Object.freeze( PEOPLE_PRIMARY_ROUTE_IDS.map((routeId) => Object.freeze({ routeId, render: rendererFor(routeId) }), ), );