refactor(SW-194)
This commit is contained in:
@@ -11,7 +11,7 @@ import { ShowMoreButton } from "../../ContentType/HotelPage/ShowMoreButton"
|
|||||||
|
|
||||||
import styles from "./accordion.module.css"
|
import styles from "./accordion.module.css"
|
||||||
|
|
||||||
import type { AccordionProps } from "../../../types/components/hotelPage/accordion"
|
import type { AccordionProps } from "@/types/components/blocks/Accordion"
|
||||||
|
|
||||||
export default function AccordionSection({ accordion, title }: AccordionProps) {
|
export default function AccordionSection({ accordion, title }: AccordionProps) {
|
||||||
const [allItemsVisible, setAllItemsVisible] = useState(false)
|
const [allItemsVisible, setAllItemsVisible] = useState(false)
|
||||||
|
|||||||
@@ -15,6 +15,14 @@ export default function Blocks({ blocks }: BlocksProps) {
|
|||||||
return blocks.map((block, idx) => {
|
return blocks.map((block, idx) => {
|
||||||
const firstItem = idx === 0
|
const firstItem = idx === 0
|
||||||
switch (block.typename) {
|
switch (block.typename) {
|
||||||
|
case BlocksEnums.block.Accordion:
|
||||||
|
return (
|
||||||
|
<AccordionSection
|
||||||
|
accordion={block.accordion.faq}
|
||||||
|
title={block.accordion.title}
|
||||||
|
key={`${block.typename}-${idx}`}
|
||||||
|
/>
|
||||||
|
)
|
||||||
case BlocksEnums.block.CardsGrid:
|
case BlocksEnums.block.CardsGrid:
|
||||||
return (
|
return (
|
||||||
<CardsGrid
|
<CardsGrid
|
||||||
@@ -66,14 +74,7 @@ export default function Blocks({ blocks }: BlocksProps) {
|
|||||||
)
|
)
|
||||||
case BlocksEnums.block.UspGrid:
|
case BlocksEnums.block.UspGrid:
|
||||||
return <UspGrid usp_grid={block.usp_grid} />
|
return <UspGrid usp_grid={block.usp_grid} />
|
||||||
case BlocksEnums.block.Accordion:
|
|
||||||
return (
|
|
||||||
<AccordionSection
|
|
||||||
accordion={block.accordion.faq}
|
|
||||||
title={block.accordion.title}
|
|
||||||
key={`${block.typename}-${idx}`}
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
default:
|
default:
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ export const accordionItemsSchema = z.array(
|
|||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
export type Accordion = z.infer<typeof accordionSchema> // MOVE
|
export type Accordion = z.infer<typeof accordionSchema>
|
||||||
|
|
||||||
enum AccordionEnum {
|
enum AccordionEnum {
|
||||||
ContentPageBlocksAccordionBlockFaqGlobalFaq = "ContentPageBlocksAccordionBlockFaqGlobalFaq",
|
ContentPageBlocksAccordionBlockFaqGlobalFaq = "ContentPageBlocksAccordionBlockFaqGlobalFaq",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { Accordion } from "@/server/routers/contentstack/schemas/blocks/accordion"
|
import { Accordion } from "@/server/routers/contentstack/schemas/blocks/accordion"
|
||||||
|
|
||||||
export type AccordionProps = {
|
export type AccordionProps = {
|
||||||
accordion: Accordion["accordion"]["faq"]
|
accordion: Accordion["accordion"]["faq"]
|
||||||
Reference in New Issue
Block a user