"use client" import { useState } from "react" import { type DateRange, DayPicker } from "react-day-picker" import { useIntl } from "react-intl" import { Lang } from "@scandic-hotels/common/constants/language" import { dt } from "@scandic-hotels/common/dt" import { Button } from "@scandic-hotels/design-system/Button" import { Divider } from "@scandic-hotels/design-system/Divider" import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon" import { Typography } from "@scandic-hotels/design-system/Typography" import useLang from "../../../../hooks/useLang" import { locales } from "../locales" import styles from "./desktop.module.css" import classNames from "react-day-picker/style.module.css" type DatePickerRangeProps = { close: () => void startMonth?: Date hideHeader?: boolean selectedRange: DateRange | undefined handleOnSelect: (nextRange: DateRange | undefined, selectedDay: Date) => void } export default function DatePickerRangeDesktop({ close, handleOnSelect, selectedRange, }: DatePickerRangeProps) { const lang = useLang() const intl = useIntl() const [month, setMonth] = useState(selectedRange?.from ?? new Date()) /** English is default language and doesn't need to be imported */ const locale = lang === Lang.en ? undefined : locales[lang] const currentDate = dt().toDate() const lastDayOfPreviousMonth = dt(currentDate) .set("date", 1) .subtract(1, "day") .toDate() const yesterday = dt(currentDate).subtract(1, "day").toDate() // Max future date allowed to book kept same as of existing prod. const endDate = dt(currentDate).add(395, "day").toDate() const endOfLastMonth = dt(endDate).endOf("month").toDate() function handleMonthChange(selected: Date) { setMonth(selected) } return ( ) }, Footer(props) { return ( <>
) }, MonthCaption(props) { return (

{props.children}

) }, }} /> ) }