fix(SW-556): add membership number, remove some unused code
This commit is contained in:
@@ -17,6 +17,7 @@ import type { CurrentRewardsClientProps } from "@/types/components/blocks/curren
|
|||||||
|
|
||||||
export default function ClientCurrentRewards({
|
export default function ClientCurrentRewards({
|
||||||
initialCurrentRewards,
|
initialCurrentRewards,
|
||||||
|
membershipNumber,
|
||||||
}: CurrentRewardsClientProps) {
|
}: CurrentRewardsClientProps) {
|
||||||
const lang = useLang()
|
const lang = useLang()
|
||||||
const { data, isFetching, fetchNextPage, hasNextPage, isLoading } =
|
const { data, isFetching, fetchNextPage, hasNextPage, isLoading } =
|
||||||
@@ -81,7 +82,7 @@ export default function ClientCurrentRewards({
|
|||||||
) : (
|
) : (
|
||||||
<ShowMoreButton loadMoreData={loadMoreData} />
|
<ShowMoreButton loadMoreData={loadMoreData} />
|
||||||
))}
|
))}
|
||||||
<Surprises surprises={surprises} />
|
<Surprises surprises={surprises} membershipNumber={membershipNumber} />
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { getProfile } from "@/lib/trpc/memoizedRequests"
|
||||||
import { serverClient } from "@/lib/trpc/server"
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
import SectionContainer from "@/components/Section/Container"
|
import SectionContainer from "@/components/Section/Container"
|
||||||
@@ -22,10 +23,19 @@ export default async function CurrentRewardsBlock({
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const user = await getProfile()
|
||||||
|
|
||||||
|
if (!user || "error" in user) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionContainer>
|
<SectionContainer>
|
||||||
<SectionHeader title={title} link={link} preamble={subtitle} />
|
<SectionHeader title={title} link={link} preamble={subtitle} />
|
||||||
<ClientCurrentRewards initialCurrentRewards={initialCurrentRewards} />
|
<ClientCurrentRewards
|
||||||
|
initialCurrentRewards={initialCurrentRewards}
|
||||||
|
membershipNumber={user.membership?.membershipNumber}
|
||||||
|
/>
|
||||||
<SectionLink link={link} variant="mobile" />
|
<SectionLink link={link} variant="mobile" />
|
||||||
</SectionContainer>
|
</SectionContainer>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -22,7 +22,10 @@ import styles from "./surprises.module.css"
|
|||||||
|
|
||||||
import type { SurprisesProps } from "@/types/components/blocks/surprises"
|
import type { SurprisesProps } from "@/types/components/blocks/surprises"
|
||||||
|
|
||||||
export default function Surprises({ surprises }: SurprisesProps) {
|
export default function Surprises({
|
||||||
|
surprises,
|
||||||
|
membershipNumber,
|
||||||
|
}: SurprisesProps) {
|
||||||
const lang = useLang()
|
const lang = useLang()
|
||||||
const [open, setOpen] = useState(true)
|
const [open, setOpen] = useState(true)
|
||||||
const [selectedSurprise, setSelectedSurprise] = useState(0)
|
const [selectedSurprise, setSelectedSurprise] = useState(0)
|
||||||
@@ -54,7 +57,7 @@ export default function Surprises({ surprises }: SurprisesProps) {
|
|||||||
{ amount: surprises.length }
|
{ amount: surprises.length }
|
||||||
)}
|
)}
|
||||||
<br />
|
<br />
|
||||||
<Link href={benefits[lang]}>
|
<Link href={benefits[lang]} variant="underscored" color="burgundy">
|
||||||
{intl.formatMessage({ id: "Go to My Benefits" })}
|
{intl.formatMessage({ id: "Go to My Benefits" })}
|
||||||
</Link>
|
</Link>
|
||||||
</>
|
</>
|
||||||
@@ -105,7 +108,10 @@ export default function Surprises({ surprises }: SurprisesProps) {
|
|||||||
</Body>
|
</Body>
|
||||||
<div className={styles.badge}>
|
<div className={styles.badge}>
|
||||||
<Caption>Valid through DD M YYYY</Caption>
|
<Caption>Valid through DD M YYYY</Caption>
|
||||||
<Caption>Member ID 000000</Caption>
|
<Caption>
|
||||||
|
{intl.formatMessage({ id: "Membership ID" })}{" "}
|
||||||
|
{membershipNumber}
|
||||||
|
</Caption>
|
||||||
</div>
|
</div>
|
||||||
</Surprise>
|
</Surprise>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
.icon {
|
|
||||||
align-self: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes modal-fade {
|
@keyframes modal-fade {
|
||||||
from {
|
from {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
@@ -55,7 +51,6 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
transition: height 200ms ease-in-out;
|
|
||||||
|
|
||||||
&[data-entering] {
|
&[data-entering] {
|
||||||
animation: slide-up 200ms;
|
animation: slide-up 200ms;
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import { ApiReward, Reward } from "@/server/routers/contentstack/reward/output"
|
import { ApiReward, Reward } from "@/server/routers/contentstack/reward/output"
|
||||||
|
|
||||||
|
import { SafeUser } from "@/types/user"
|
||||||
|
|
||||||
export type CurrentRewardsClientProps = {
|
export type CurrentRewardsClientProps = {
|
||||||
initialCurrentRewards: {
|
initialCurrentRewards: {
|
||||||
rewards: Reward[]
|
rewards: Reward[]
|
||||||
apiRewards: ApiReward[]
|
apiRewards: ApiReward[]
|
||||||
nextCursor: number | undefined
|
nextCursor: number | undefined
|
||||||
}
|
}
|
||||||
|
membershipNumber?: string
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,4 +2,5 @@ import { ApiReward } from "@/server/routers/contentstack/reward/output"
|
|||||||
|
|
||||||
export interface SurprisesProps {
|
export interface SurprisesProps {
|
||||||
surprises: ApiReward[]
|
surprises: ApiReward[]
|
||||||
|
membershipNumber?: string
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user