feat(LOY-284): add accordion support to account pages
This commit is contained in:
@@ -35,6 +35,8 @@ export const accordionItemsSchema = z.array(
|
||||
export type Accordion = z.infer<typeof accordionSchema>
|
||||
|
||||
enum AccordionEnum {
|
||||
AccountPageContentAccordionBlockAccordionsGlobalAccordion = "AccountPageContentAccordionBlockAccordionsGlobalAccordion",
|
||||
AccountPageContentAccordionBlockAccordionsSpecificAccordion = "AccountPageContentAccordionBlockAccordionsSpecificAccordion",
|
||||
CampaignPageBlocksAccordionBlockAccordionsGlobalAccordion = "CampaignPageBlocksAccordionBlockAccordionsGlobalAccordion",
|
||||
CampaignPageBlocksAccordionBlockAccordionsSpecificAccordion = "CampaignPageBlocksAccordionBlockAccordionsSpecificAccordion",
|
||||
ContentPageBlocksAccordionBlockAccordionsGlobalAccordion = "ContentPageBlocksAccordionBlockAccordionsGlobalAccordion",
|
||||
@@ -82,6 +84,7 @@ export const accordionSchema = z.object({
|
||||
...data,
|
||||
accordions: data.accordions.flatMap((acc) => {
|
||||
switch (acc.__typename) {
|
||||
case AccordionEnum.AccountPageContentAccordionBlockAccordionsGlobalAccordion:
|
||||
case AccordionEnum.CampaignPageBlocksAccordionBlockAccordionsGlobalAccordion:
|
||||
case AccordionEnum.ContentPageBlocksAccordionBlockAccordionsGlobalAccordion:
|
||||
case AccordionEnum.DestinationCityPageBlocksAccordionBlockAccordionsGlobalAccordion:
|
||||
@@ -93,11 +96,14 @@ export const accordionSchema = z.object({
|
||||
}
|
||||
) || []
|
||||
)
|
||||
case AccordionEnum.AccountPageContentAccordionBlockAccordionsSpecificAccordion:
|
||||
case AccordionEnum.CampaignPageBlocksAccordionBlockAccordionsSpecificAccordion:
|
||||
case AccordionEnum.ContentPageBlocksAccordionBlockAccordionsSpecificAccordion:
|
||||
case AccordionEnum.DestinationCityPageBlocksAccordionBlockAccordionsSpecificAccordion:
|
||||
case AccordionEnum.DestinationCountryPageBlocksAccordionBlockAccordionsSpecificAccordion:
|
||||
return acc.specific_accordion?.questions || []
|
||||
default:
|
||||
return null
|
||||
}
|
||||
}),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user