"use client" import { useIntl } from "react-intl" import { useBookingConfirmationStore } from "@scandic-hotels/booking-flow/stores/booking-confirmation" import { longDateFormat } from "@scandic-hotels/common/constants/dateFormats" import { dt } from "@scandic-hotels/common/dt" 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 Room from "./Room" import TotalPrice from "./TotalPrice" import styles from "./receipt.module.css" export default function Receipt() { const lang = useLang() const intl = useIntl() const { rooms, fromDate, toDate } = useBookingConfirmationStore((state) => ({ rooms: state.rooms, fromDate: state.fromDate, toDate: state.toDate, })) const totalNights = dt(toDate).diff(fromDate, "days") const nights = intl.formatMessage( { defaultMessage: "{totalNights, plural, one {# night} other {# nights}}", }, { totalNights } ) const filteredRooms = rooms.filter( (room): room is NonNullable => !!room ) return (

{intl.formatMessage({ defaultMessage: "Booking summary", })}

{dt(fromDate).locale(lang).format(longDateFormat[lang])} {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {dt(toDate).locale(lang).format(longDateFormat[lang])} ({nights})

{filteredRooms.map((room, idx) => ( ))}
) }