feat: adjust select rate ui to latest design

This commit is contained in:
Simon Emanuelsson
2025-02-17 15:10:48 +01:00
parent 2c72957dc6
commit 4c23700d52
76 changed files with 819 additions and 654 deletions

View File

@@ -1,41 +1,45 @@
import { z } from "zod"
import { nullableArrayObjectValidator } from "@/utils/zod/arrayValidator"
import { nullableNumberValidator } from "@/utils/zod/numberValidator"
import { nullableStringValidator } from "@/utils/zod/stringValidator"
const periodSchema = z.object({
amount: z.number().optional(),
endTime: z.string().optional(),
period: z.string().optional(),
startTime: z.string().optional(),
amount: nullableNumberValidator,
endTime: nullableStringValidator,
period: nullableStringValidator,
startTime: nullableStringValidator,
})
const currencySchema = z
.object({
currency: z.string().optional(),
ordinary: z.array(periodSchema).optional(),
currency: nullableStringValidator,
ordinary: nullableArrayObjectValidator(periodSchema),
range: z
.object({
min: z.number().optional(),
max: z.number().optional(),
min: nullableNumberValidator,
max: nullableNumberValidator,
})
.optional(),
weekend: z.array(periodSchema).optional(),
.nullish(),
weekend: nullableArrayObjectValidator(periodSchema),
})
.optional()
.nullish()
const pricingSchema = z.object({
freeParking: z.boolean(),
localCurrency: currencySchema,
paymentType: z.string().optional(),
paymentType: nullableStringValidator,
requestedCurrency: currencySchema,
})
export const parkingSchema = z.object({
address: z.string().optional(),
address: nullableStringValidator,
canMakeReservation: z.boolean(),
distanceToHotel: z.number().optional(),
externalParkingUrl: z.string().optional(),
name: z.string().optional(),
numberOfChargingSpaces: z.number().optional(),
numberOfParkingSpots: z.number().optional(),
distanceToHotel: nullableNumberValidator,
externalParkingUrl: nullableStringValidator,
name: nullableStringValidator,
numberOfChargingSpaces: nullableNumberValidator,
numberOfParkingSpots: nullableNumberValidator,
pricing: pricingSchema,
type: z.string().optional(),
type: nullableStringValidator,
})