Merged in fix/SW-449-booking-widget-url-date (pull request #847)

fix(SW-449): Updated Date format to match current web

Approved-by: Niclas Edenvin
This commit is contained in:
Pontus Dreij
2024-11-08 14:14:33 +00:00
7 changed files with 16 additions and 20 deletions

View File

@@ -49,11 +49,11 @@ export default async function SelectRatePage({
searchParams.fromDate &&
dt(searchParams.fromDate).isAfter(dt().subtract(1, "day"))
? searchParams.fromDate
: dt().utc().format("YYYY-MM-DD")
: dt().utc().format("YYYY-MM-D")
const validToDate =
searchParams.toDate && dt(searchParams.toDate).isAfter(validFromDate)
? searchParams.toDate
: dt().utc().add(1, "day").format("YYYY-MM-DD")
: dt().utc().add(1, "day").format("YYYY-MM-D")
const adults = selectRoomParamsObject.room[0].adults || 1 // TODO: Handle multiple rooms
const childrenCount = selectRoomParamsObject.room[0].child?.length
const children = selectRoomParamsObject.room[0].child

View File

@@ -86,11 +86,11 @@ export default function BookingWidgetClient({
// UTC is required to handle requests from far away timezones https://scandichotels.atlassian.net/browse/SWAP-6375 & PET-507
// This is specifically to handle timezones falling in different dates.
fromDate: isDateParamValid
? bookingWidgetSearchData?.fromDate?.toString()
: dt().utc().format("YYYY-MM-DD"),
? dt(bookingWidgetSearchData?.fromDate).format("YYYY-M-D")
: dt().utc().format("YYYY-M-D"),
toDate: isDateParamValid
? bookingWidgetSearchData?.toDate?.toString()
: dt().utc().add(1, "day").format("YYYY-MM-DD"),
? dt(bookingWidgetSearchData?.toDate).format("YYYY-M-D")
: dt().utc().add(1, "day").format("YYYY-M-D"),
},
bookingCode: "",
redemption: false,

View File

@@ -47,7 +47,7 @@ export default function DatePickerForm({ name = "date" }: DatePickerFormProps) {
if (!dt(selected).isBefore(dt(), "day")) {
if (isSelectingFrom) {
setValue(name, {
fromDate: dt(selected).format("YYYY-MM-DD"),
fromDate: dt(selected).format("YYYY-MM-D"),
toDate: undefined,
})
setIsSelectingFrom(false)
@@ -57,11 +57,11 @@ export default function DatePickerForm({ name = "date" }: DatePickerFormProps) {
if (toDate.isAfter(fromDate)) {
setValue(name, {
fromDate: selectedDate.fromDate,
toDate: toDate.format("YYYY-MM-DD"),
toDate: toDate.format("YYYY-MM-D"),
})
} else {
setValue(name, {
fromDate: toDate.format("YYYY-MM-DD"),
fromDate: toDate.format("YYYY-MM-D"),
toDate: selectedDate.fromDate,
})
}
@@ -75,9 +75,7 @@ export default function DatePickerForm({ name = "date" }: DatePickerFormProps) {
if (!selectedDate.toDate) {
setValue(name, {
fromDate: selectedDate.fromDate,
toDate: dt(selectedDate.fromDate)
.add(1, "day")
.format("YYYY-MM-DD"),
toDate: dt(selectedDate.fromDate).add(1, "day").format("YYYY-MM-D"),
})
setIsSelectingFrom(true)
}

View File

@@ -25,8 +25,7 @@ export default function Form({ locations, type }: BookingWidgetFormProps) {
type,
})
const { formState, handleSubmit, register } =
useFormContext<BookingWidgetSchema>()
const { handleSubmit, register } = useFormContext<BookingWidgetSchema>()
function onSubmit(data: BookingWidgetSchema) {
const locationData: Location = JSON.parse(decodeURIComponent(data.location))

View File

@@ -83,7 +83,7 @@ export default function DateSelect({ name, registerOptions = {} }: DateProps) {
.date(Number(day))
if (newDate.isValid()) {
setValue(name, newDate.format("YYYY-MM-DD"), {
setValue(name, newDate.format("YYYY-MM-D"), {
shouldDirty: true,
shouldTouch: true,
shouldValidate: true,

View File

@@ -137,7 +137,7 @@ const nextConfig = {
{
key: "fromDate",
type: "query",
value: "^([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))$",
value: "^([12]\\d{3}-(0[1-9]|1[0-2])-([1-9]|[12]\\d|3[01]))$",
},
],
permanent: false,
@@ -169,7 +169,7 @@ const nextConfig = {
{
key: "toDate",
type: "query",
value: "^([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))$",
value: "^([12]\\d{3}-(0[1-9]|1[0-2])-([1-9]|[12]\\d|3[01]))$",
},
],
permanent: false,

View File

@@ -974,11 +974,10 @@ export const hotelQueryRouter = router({
const { lang } = ctx
const apiLang = toApiLang(lang)
const params = {
Adults: input.adults,
EndDate: dt(input.toDate).format("YYYY-MM-DD"),
StartDate: dt(input.fromDate).format("YYYY-MM-DD"),
EndDate: dt(input.toDate).format("YYYY-MM-D"),
StartDate: dt(input.fromDate).format("YYYY-MM-D"),
language: apiLang,
}