"use client" import { cx } from "class-variance-authority" import { useIntl } from "react-intl" import { BookingCodeChip } from "@scandic-hotels/design-system/BookingCodeChip" import { Divider } from "@scandic-hotels/design-system/Divider" import SkeletonShimmer from "@scandic-hotels/design-system/SkeletonShimmer" import { Typography } from "@scandic-hotels/design-system/Typography" import { useBookingConfirmationStore } from "../../../../stores/booking-confirmation" import PriceDetails from "../../PriceDetails" import styles from "./totalPrice.module.css" export default function TotalPrice() { const intl = useIntl() const { rooms, formattedTotalCost } = useBookingConfirmationStore( (state) => ({ bookingCode: state.bookingCode, rooms: state.rooms, formattedTotalCost: state.formattedTotalCost, }) ) const hasAllRoomsLoaded = rooms.every((room) => room) const bookingCode = rooms.find((room) => room?.bookingCode)?.bookingCode const isMemberRate = rooms.some((room) => room?.rateDefinition.isMemberRate) const showDiscounted = bookingCode || isMemberRate return ( <>

{intl.formatMessage( { id: "booking.totalPriceInclVat", defaultMessage: "Total price (incl VAT)", }, { b: (str) => ( {str} ), } )}

{/* TODO: Add approx price, we're currently not receiving this value from API */}
{hasAllRoomsLoaded ? ( {formattedTotalCost} ) : ( )}
{hasAllRoomsLoaded ? ( ) : ( )}
{bookingCode && } ) }