feat(SW-1907): Not rendering blocks when at least one filter is active on destination pages

Approved-by: Christian Andolf
This commit is contained in:
Erik Tiekstra
2025-03-25 14:50:34 +00:00
parent 93962e4c59
commit c29d3c2f93
3 changed files with 45 additions and 2 deletions

View File

@@ -0,0 +1,43 @@
"use client"
import { useDestinationDataStore } from "@/stores/destination-data"
import AccordionSection from "@/components/Blocks/Accordion"
import JsonToHtml from "@/components/JsonToHtml"
import type { BlocksProps } from "@/types/components/blocks"
import { BlocksEnums } from "@/types/enums/blocks"
export default function Blocks({ blocks }: BlocksProps) {
const { activeFilters } = useDestinationDataStore((state) => ({
activeFilters: state.activeFilters,
}))
if (activeFilters.length) {
return null
}
return blocks.map((block, idx) => {
switch (block.typename) {
case BlocksEnums.block.Accordion:
return (
<AccordionSection
accordion={block.accordion.accordions}
title={block.accordion.title}
key={`${block.typename}-${idx}`}
/>
)
case BlocksEnums.block.Content:
return (
<section key={`${block.typename}-${idx}`}>
<JsonToHtml
nodes={block.content.json.children}
embeds={block.content.embedded_itemsConnection.edges}
/>
</section>
)
default:
return null
}
})
}

View File

@@ -4,10 +4,10 @@ import { Suspense } from "react"
import { env } from "@/env/server"
import { getDestinationCityPage } from "@/lib/trpc/memoizedRequests"
import Blocks from "@/components/Blocks"
import Breadcrumbs from "@/components/Breadcrumbs"
import BreadcrumbsSkeleton from "@/components/TempDesignSystem/Breadcrumbs/BreadcrumbsSkeleton"
import Blocks from "../Blocks"
import ExperienceList from "../ExperienceList"
import HotelDataContainer, { preload } from "../HotelDataContainer"
import HotelListing from "../HotelListing"

View File

@@ -3,10 +3,10 @@ import { Suspense } from "react"
import { getDestinationCountryPage } from "@/lib/trpc/memoizedRequests"
import Blocks from "@/components/Blocks"
import Breadcrumbs from "@/components/Breadcrumbs"
import BreadcrumbsSkeleton from "@/components/TempDesignSystem/Breadcrumbs/BreadcrumbsSkeleton"
import Blocks from "../Blocks"
import CityDataContainer, { preload } from "../CityDataContainer"
import CityListing from "../CityListing"
import ExperienceList from "../ExperienceList"