refactor: improve level selection logic

This commit is contained in:
Arvid Norlin
2024-06-07 15:54:56 +02:00
parent 24810eaee6
commit af205451e6
4 changed files with 165 additions and 96 deletions

View File

@@ -14,14 +14,14 @@ import type {
} from "@/types/components/loyalty/blocks"
import { LoyaltyComponentEnum } from "@/types/components/loyalty/enums"
function DynamicComponentBlock({ component }: DynamicComponentProps) {
function DynamicComponentBlock({ component, user }: DynamicComponentProps) {
switch (component) {
case LoyaltyComponentEnum.how_it_works:
return <HowItWorks />
case LoyaltyComponentEnum.loyalty_levels:
return <LoyaltyLevels />
case LoyaltyComponentEnum.overview_table:
return <OverviewTable />
return <OverviewTable user={user} />
default:
return null
}
@@ -29,6 +29,7 @@ function DynamicComponentBlock({ component }: DynamicComponentProps) {
export default function DynamicContent({
dynamicContent,
user,
}: DynamicContentProps) {
const displayHeader = !!(
dynamicContent.title ||
@@ -52,7 +53,14 @@ export default function DynamicContent({
</Subtitle>
</header>
) : null}
<DynamicComponentBlock component={dynamicContent.component} />
{dynamicContent.component === LoyaltyComponentEnum.overview_table ? (
<DynamicComponentBlock
component={dynamicContent.component}
user={user}
/>
) : (
<DynamicComponentBlock component={dynamicContent.component} />
)}
</section>
)
}