import { Fragment } from "react" import { useIntl } from "react-intl" import { formatPrice } from "@scandic-hotels/common/utils/numberFormatting" import Accordion from "@scandic-hotels/design-system/Accordion" import AccordionItem from "@scandic-hotels/design-system/Accordion/AccordionItem" import { Divider } from "@scandic-hotels/design-system/Divider" import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon" import Subtitle from "@scandic-hotels/design-system/Subtitle" import { Typography } from "@scandic-hotels/design-system/Typography" import { BreakfastPackageEnum } from "@scandic-hotels/trpc/enums/breakfast" import { getBreakfastPackagesFromAncillaryFlow } from "../../utils/hasBreakfastPackage" import RemoveButton from "./RemoveButton" import styles from "./addedAncillaries.module.css" import type { PackageSchema } from "@scandic-hotels/trpc/types/bookingConfirmation" import type { AddedAncillariesProps } from "@/types/components/myPages/myStay/ancillaries" import type { Room } from "@/types/stores/my-stay" export function AddedAncillaries({ ancillaries, booking, }: AddedAncillariesProps) { const intl = useIntl() const addedBreakfastPackages = getBreakfastPackagesFromAncillaryFlow( booking.originalPackages ) const addedAncillaries = getAddedAncillaries(booking, addedBreakfastPackages) if (addedAncillaries.length === 0) { return null } return (
{intl.formatMessage({ id: "ancillaries.deliveredAt", defaultMessage: "Delivered at:", })}
{booking.ancillary?.deliveryTime}
{intl.formatMessage({ id: "common.otherRequests", defaultMessage: "Other requests", })} {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {":"}
{ancillary.comment}
{intl.formatMessage({ id: "common.total", defaultMessage: "Total", })}
{ancillary.currency.toLowerCase() === "points" ? intl.formatMessage( { id: "common.numberOfPoints", defaultMessage: "{points, plural, one {# point} other {# points}}", }, { points: ancillary.totalPrice, } ) : formatPrice( intl, ancillary.totalPrice, ancillary.currency )}
{ancillaryTitle}
{intl.formatMessage({ id: "common.total", defaultMessage: "Total", })}
{ancillary.currency.toLowerCase() === "points" ? intl.formatMessage( { id: "common.numberOfPoints", defaultMessage: "{points, plural, one {# point} other {# points}}", }, { points: ancillary.totalPrice, } ) : formatPrice( intl, ancillary.totalPrice, ancillary.currency )}
{intl.formatMessage({ id: "common.otherRequests", defaultMessage: "Other requests", })} {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {":"}
{ancillary.comment}