56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import {
|
|
MembershipLevelEnum,
|
|
membershipLevels,
|
|
} from "@/constants/membershipLevels"
|
|
|
|
import PointsContainer from "@/components/MyPages/Blocks/Overview/Stats/Points/Container"
|
|
import {
|
|
NextLevelNightsColumn,
|
|
NextLevelPointsColumn,
|
|
StayOnLevelColumn,
|
|
YourPointsColumn,
|
|
} from "@/components/MyPages/Blocks/Overview/Stats/Points/PointsColumn"
|
|
import { getMembershipLevelObject } from "@/utils/membershipLevel"
|
|
import { getMembership } from "@/utils/user"
|
|
|
|
import { UserProps } from "@/types/components/myPages/user"
|
|
import { LangParams } from "@/types/params"
|
|
|
|
/* TODO */
|
|
export default async function Points({ user, lang }: UserProps & LangParams) {
|
|
const membership = getMembership(user.memberships)
|
|
const nextLevel = getMembershipLevelObject(
|
|
membership?.nextLevel as MembershipLevelEnum,
|
|
lang
|
|
)
|
|
|
|
return (
|
|
<PointsContainer>
|
|
<YourPointsColumn points={membership?.currentPoints} />
|
|
{nextLevel && (
|
|
<>
|
|
{membership?.currentPoints ? (
|
|
<StayOnLevelColumn
|
|
points={membership?.currentPoints} //TODO
|
|
subtitleParam={membership?.expirationDate}
|
|
/>
|
|
) : (
|
|
<>
|
|
<NextLevelPointsColumn
|
|
points={membership?.pointsRequiredToNextlevel}
|
|
subtitleParam={nextLevel.name}
|
|
/>
|
|
{nextLevel?.level === membershipLevels.L7 && (
|
|
<NextLevelNightsColumn
|
|
nights={100} //TODO
|
|
subtitleParam={membership?.expirationDate}
|
|
/>
|
|
)}
|
|
</>
|
|
)}
|
|
</>
|
|
)}
|
|
</PointsContainer>
|
|
)
|
|
}
|