fix(SW-556): add membership number, remove some unused code

This commit is contained in:
Christian Andolf
2024-10-16 16:37:09 +02:00
parent e5b4b6f82e
commit 95d0a70f5e
6 changed files with 26 additions and 10 deletions

View File

@@ -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} />
</> </>
) )
} }

View File

@@ -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>
) )

View File

@@ -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>

View File

@@ -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;

View File

@@ -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
} }

View File

@@ -2,4 +2,5 @@ import { ApiReward } from "@/server/routers/contentstack/reward/output"
export interface SurprisesProps { export interface SurprisesProps {
surprises: ApiReward[] surprises: ApiReward[]
membershipNumber?: string
} }