import { cache } from "react" import * as routes from "@scandic-hotels/common/constants/routes/myPages" import { safeTry } from "@scandic-hotels/common/utils/safeTry" import { scandicMembershipTypes } from "../../user/helpers" import type { Lang } from "@scandic-hotels/common/constants/language" import type { BasicUserProfile } from "../../../types/user" import type { MyPagesLink } from "./MyPagesLink" export const getPrimaryLinks = cache( async ({ lang, basicUserLoyalty, }: { lang: Lang basicUserLoyalty?: BasicUserProfile["loyalty"] }): Promise => { const showSASLink = basicUserLoyalty?.memberships?.some( (m) => m.membershipType === scandicMembershipTypes.SAS_EB ) const [showTeamMemberLink] = await safeTry(showTeamMemberCard()) const menuItems: MyPagesLink[] = [ { type: "link", key: "overview", href: routes.overview[lang], }, { type: "link", key: "points", href: routes.points[lang], }, { type: "link", key: "stays", href: routes.stays[lang], }, { type: "link", key: "benefits", href: routes.benefits[lang], }, ] if (showSASLink) { menuItems.push({ type: "link", key: "partnerSas", href: routes.partnerSas[lang], }) } if (showTeamMemberLink) { menuItems.push({ type: "link", key: "teamMemberCard", href: "#", }) } return menuItems } ) const showTeamMemberCard = cache(async () => { async function getIsTeamMember() { // TODO: Implement this check return false } const isTeamMember = await getIsTeamMember() return isTeamMember })