feat: schema change

This commit is contained in:
Fredrik Thorsson
2024-08-06 12:49:50 +02:00
parent 798d19d3c8
commit 75011dffe5
4 changed files with 38 additions and 36 deletions

View File

@@ -13,7 +13,13 @@ export default async function HotelCard({ hotel }: HotelCardProps) {
const { formatMessage } = await getIntl() const { formatMessage } = await getIntl()
return ( return (
<article className={styles.card}> <article className={styles.card}>
<Image src="" alt="hotel image" className={styles.image} /> <Image
src={hotel.hotelContent.images.imageSizes.large}
alt={hotel.hotelContent.images.metaData.altText}
width={300}
height={200}
className={styles.image}
/>
<div className={styles.information}> <div className={styles.information}>
<header className={styles.title}> <header className={styles.title}>
<ScandicLogoIcon color="red" /> <ScandicLogoIcon color="red" />

View File

@@ -11,8 +11,8 @@ export default async function HotelFilter({ filters }: HotelFilterProps) {
<aside className={styles.container}> <aside className={styles.container}>
<div className={styles.facilities}> <div className={styles.facilities}>
{formatMessage({ id: "Room facilities" })} {formatMessage({ id: "Room facilities" })}
{filters.filterType.roomFacilities.map((roomFilter, index) => ( {filters.roomFacilities.map((roomFilter, index) => (
<div key={index} className={styles.filter}> <div key={`room filter-${index}`} className={styles.filter}>
<input id={roomFilter} name={roomFilter} type="checkbox" /> <input id={roomFilter} name={roomFilter} type="checkbox" />
<label htmlFor={roomFilter}>{roomFilter}</label> <label htmlFor={roomFilter}>{roomFilter}</label>
</div> </div>
@@ -20,8 +20,8 @@ export default async function HotelFilter({ filters }: HotelFilterProps) {
</div> </div>
<div className={styles.facilities}> <div className={styles.facilities}>
{formatMessage({ id: "Hotel facilities" })} {formatMessage({ id: "Hotel facilities" })}
{filters.filterType.hotelFacilities.map((hotelFilter, index) => ( {filters.hotelFacilities.map((hotelFilter, index) => (
<div key={index} className={styles.filter}> <div key={`hotel filter-${index}`} className={styles.filter}>
<input id={hotelFilter} name={hotelFilter} type="checkbox" /> <input id={hotelFilter} name={hotelFilter} type="checkbox" />
<label htmlFor={hotelFilter}>{hotelFilter}</label> <label htmlFor={hotelFilter}>{hotelFilter}</label>
</div> </div>
@@ -29,10 +29,10 @@ export default async function HotelFilter({ filters }: HotelFilterProps) {
</div> </div>
<div className={styles.facilities}> <div className={styles.facilities}>
{formatMessage({ id: "Hotel surroundings" })} {formatMessage({ id: "Hotel surroundings" })}
{filters.filterType.hotelSurroundings.map((sorroundings, index) => ( {filters.hotelSurroundings.map((surroundings, index) => (
<div key={index} className={styles.filter}> <div key={`surroundings filter-${index}`} className={styles.filter}>
<input id={sorroundings} name={sorroundings} type="checkbox" /> <input id={surroundings} name={surroundings} type="checkbox" />
<label htmlFor={sorroundings}>{sorroundings}</label> <label htmlFor={surroundings}>{surroundings}</label>
</div> </div>
))} ))}
</div> </div>

View File

@@ -483,11 +483,9 @@ export const getRatesSchema = z.array(rate)
export type Rate = z.infer<typeof rate> export type Rate = z.infer<typeof rate>
const hotelFilter = z.object({ const hotelFilter = z.object({
filterType: z.object({
roomFacilities: z.array(z.string()), roomFacilities: z.array(z.string()),
hotelFacilities: z.array(z.string()), hotelFacilities: z.array(z.string()),
hotelSurroundings: z.array(z.string()), hotelSurroundings: z.array(z.string()),
}),
}) })
export const getFiltersSchema = hotelFilter export const getFiltersSchema = hotelFilter

View File

@@ -1,5 +1,4 @@
{ {
"filterType": {
"roomFacilities": ["Balcony", "Bathub", "View", "Conntecting doors"], "roomFacilities": ["Balcony", "Bathub", "View", "Conntecting doors"],
"hotelFacilities": [ "hotelFacilities": [
"Parking inside", "Parking inside",
@@ -20,5 +19,4 @@
"Mountains", "Mountains",
"Golf course" "Golf course"
] ]
}
} }