refactor(SW-303): add typing

This commit is contained in:
Matilda Landström
2024-09-10 13:56:24 +02:00
parent f3a455926e
commit 86e9cf1177
2 changed files with 6 additions and 4 deletions

View File

@@ -30,7 +30,7 @@ const contentBlockActivity = z.object({
__typename: z.literal( __typename: z.literal(
HotelBlocksTypenameEnum.HotelPageContentUpcomingActivitiesCard HotelBlocksTypenameEnum.HotelPageContentUpcomingActivitiesCard
), ),
upcoming_activities_card: activityCardSchema.optional(), upcoming_activities_card: activityCardSchema,
}) })
const contentBlockItem = z.discriminatedUnion("__typename", [ const contentBlockItem = z.discriminatedUnion("__typename", [
@@ -61,3 +61,4 @@ type HotelPageRaw = HotelPageDataRaw["hotel_page"]
export type HotelPage = HotelPageRaw export type HotelPage = HotelPageRaw
export type ActivityCard = z.infer<typeof activityCardSchema> export type ActivityCard = z.infer<typeof activityCardSchema>
export type ContentBlockItem = z.infer<typeof contentBlockItem>

View File

@@ -21,7 +21,8 @@ import { makeImageVaultImage } from "@/utils/imageVault"
import { removeMultipleSlashes } from "@/utils/url" import { removeMultipleSlashes } from "@/utils/url"
import { import {
HotelPageDataRaw, type ContentBlockItem,
type HotelPageDataRaw,
validateHotelPageSchema, validateHotelPageSchema,
} from "../contentstack/hotelPage/output" } from "../contentstack/hotelPage/output"
import { import {
@@ -212,13 +213,13 @@ export const hotelQueryRouter = router({
: [] : []
const activities = contentstackData?.content const activities = contentstackData?.content
? contentstackData.content.map((block: any) => { ? contentstackData.content.map((block: ContentBlockItem) => {
switch (block.__typename) { switch (block.__typename) {
case HotelBlocksTypenameEnum.HotelPageContentUpcomingActivitiesCard: case HotelBlocksTypenameEnum.HotelPageContentUpcomingActivitiesCard:
return { return {
...block.upcoming_activities_card, ...block.upcoming_activities_card,
background_image: makeImageVaultImage( background_image: makeImageVaultImage(
block.upcoming_activities_card.background_image block.upcoming_activities_card?.background_image
), ),
contentPage: contentPage:
block.upcoming_activities_card?.hotel_page_activities_content_pageConnection?.edges.map( block.upcoming_activities_card?.hotel_page_activities_content_pageConnection?.edges.map(