feat(SW-1712): Preperation to accept multiple different icon identifiers for filters on startpage and destination overview page

Approved-by: Fredrik Thorsson
Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-03-17 08:58:29 +00:00
parent c99060363c
commit aca3c7f398
3 changed files with 5 additions and 22 deletions

View File

@@ -7,11 +7,8 @@ import useScrollShadows from "@/hooks/useScrollShadows"
import styles from "./tabFilters.module.css"
import type { CardGalleryFilter } from "@/types/enums/cardGallery"
import type { CarouselCardFilter } from "@/types/enums/carouselCards"
interface Filter {
identifier: CarouselCardFilter | CardGalleryFilter
identifier: string
label: string
}

View File

@@ -9,10 +9,6 @@ import { buttonSchema } from "./utils/buttonLinkSchema"
import { linkConnectionRefsSchema } from "./utils/linkConnection"
import { BlocksEnums } from "@/types/enums/blocks"
import {
type CardGalleryFilter,
CardGalleryFilterEnum,
} from "@/types/enums/cardGallery"
export const cardGallerySchema = z.object({
typename: z
@@ -25,7 +21,7 @@ export const cardGallerySchema = z.object({
link: buttonSchema.optional(),
card_groups: z.array(
z.object({
filter_identifier: z.nativeEnum(CardGalleryFilterEnum),
filter_identifier: z.string(),
filter_label: z.string(),
cardsConnection: z.object({
edges: z.array(z.object({ node: contentCardSchema })),
@@ -35,10 +31,7 @@ export const cardGallerySchema = z.object({
})
.transform((data) => {
const filterCategories = data.card_groups.reduce<
Array<{
identifier: CardGalleryFilter
label: string
}>
Array<{ identifier: string; label: string }>
>((acc, group) => {
const identifier = group.filter_identifier
if (!acc.some((category) => category.identifier === identifier)) {

View File

@@ -9,10 +9,6 @@ import { buttonSchema } from "./utils/buttonLinkSchema"
import { linkConnectionRefsSchema } from "./utils/linkConnection"
import { BlocksEnums } from "@/types/enums/blocks"
import {
type CarouselCardFilter,
CarouselCardFilterEnum,
} from "@/types/enums/carouselCards"
const commonFields = {
heading: z.string().optional(),
@@ -24,7 +20,7 @@ const carouselCardsWithFilters = z.object({
enable_filters: z.literal(true),
card_groups: z.array(
z.object({
filter_identifier: z.nativeEnum(CarouselCardFilterEnum),
filter_identifier: z.string(),
filter_label: z.string(),
cardConnection: z.object({
edges: z.array(z.object({ node: contentCardSchema })),
@@ -78,10 +74,7 @@ export const carouselCardsSchema = z.object({
}
const filterCategories = data.card_groups.reduce<
Array<{
identifier: CarouselCardFilter
label: string
}>
Array<{ identifier: string; label: string }>
>((acc, group) => {
const identifier = group.filter_identifier
if (!acc.some((category) => category.identifier === identifier)) {