Merged in feat/3614-basicInfo (pull request #3427)
feat(SW-3614): use new loyalty prop in basicProfile * feat(SW-3614): use new loyalty prop in basicProfile * PR fixes Approved-by: Matilda Landström
This commit is contained in:
@@ -3,22 +3,25 @@ import { cache } from "react"
|
||||
import * as routes from "@scandic-hotels/common/constants/routes/myPages"
|
||||
import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||
|
||||
import { getEurobonusMembership } from "../../user/helpers"
|
||||
import { scandicMembershipTypes } from "../../user/helpers"
|
||||
|
||||
import type { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
import type { UserLoyalty } from "../../../types/user"
|
||||
import type { BasicUserProfile } from "../../../types/user"
|
||||
import type { MyPagesLink } from "./MyPagesLink"
|
||||
|
||||
export const getPrimaryLinks = cache(
|
||||
async ({
|
||||
lang,
|
||||
userLoyalty,
|
||||
basicUserLoyalty,
|
||||
}: {
|
||||
lang: Lang
|
||||
userLoyalty?: UserLoyalty
|
||||
basicUserLoyalty?: BasicUserProfile["loyalty"]
|
||||
}): Promise<MyPagesLink[]> => {
|
||||
const showSASLink = userLoyalty ? isScandicXSASActive(userLoyalty) : false
|
||||
const showSASLink = basicUserLoyalty?.memberships?.some(
|
||||
(m) => m.membershipType === scandicMembershipTypes.SAS_EB
|
||||
)
|
||||
|
||||
const [showTeamMemberLink] = await safeTry(showTeamMemberCard())
|
||||
|
||||
const menuItems: MyPagesLink[] = [
|
||||
@@ -64,11 +67,6 @@ export const getPrimaryLinks = cache(
|
||||
}
|
||||
)
|
||||
|
||||
const isScandicXSASActive = (loyalty: UserLoyalty) => {
|
||||
const eurobonusMembership = getEurobonusMembership(loyalty)
|
||||
return Boolean(eurobonusMembership)
|
||||
}
|
||||
|
||||
const showTeamMemberCard = cache(async () => {
|
||||
async function getIsTeamMember() {
|
||||
// TODO: Implement this check
|
||||
|
||||
@@ -6,7 +6,7 @@ import { safeTry } from "@scandic-hotels/common/utils/safeTry"
|
||||
|
||||
import { safeProtectedProcedure } from "../../../procedures"
|
||||
import { isValidSession } from "../../../utils/session"
|
||||
import { getVerifiedUser } from "../../user/utils/getVerifiedUser"
|
||||
import { getBasicUser } from "../../user/utils/getBasicUser"
|
||||
import { getPrimaryLinks } from "./getPrimaryLinks"
|
||||
import { getSecondaryLinks } from "./getSecondaryLinks"
|
||||
|
||||
@@ -40,14 +40,14 @@ export const myPagesNavigation = safeProtectedProcedure
|
||||
}
|
||||
|
||||
const [user, error] = await safeTry(
|
||||
getVerifiedUser({ token: ctx.session.token })
|
||||
getBasicUser({ token: ctx.session.token })
|
||||
)
|
||||
if (!user || error) {
|
||||
return null
|
||||
}
|
||||
|
||||
const [primaryLinks, secondaryLinks] = await Promise.all([
|
||||
getPrimaryLinks({ lang, userLoyalty: user.loyalty }),
|
||||
getPrimaryLinks({ lang, basicUserLoyalty: user.loyalty }),
|
||||
getSecondaryLinks({ lang }),
|
||||
])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user