Files
web/apps/scandic-web/components/HotelReservation/MyStay/ReferenceCard/Actions/NotUpcoming/index.tsx
Erik Tiekstra 3f632e6031 Merged in fix/BOOK-293-button-variants (pull request #3371)
fix(BOOK-293): changed variants and props on IconButton component

* fix(BOOK-293): changed variants and props on IconButton component

* fix(BOOK-293): inherit color for icon


Approved-by: Bianca Widstam
Approved-by: Christel Westerberg
2025-12-19 12:32:52 +00:00

61 lines
1.6 KiB
TypeScript

"use client"
import { usePathname } from "next/navigation"
import { useIntl } from "react-intl"
import { serializeBookingSearchParams } from "@scandic-hotels/booking-flow/utils/url"
import { RateTypeEnum } from "@scandic-hotels/common/constants/rateType"
import ButtonLink from "@scandic-hotels/design-system/ButtonLink"
import { isWebview } from "@/constants/routes/webviews"
import { useMyStayStore } from "@/stores/my-stay"
import useLang from "@/hooks/useLang"
import CustomerSupport from "./CustomerSupport"
import type { BookingWidgetSearchData } from "@scandic-hotels/booking-flow/BookingWidget"
export default function NotUpcoming() {
const intl = useIntl()
const pathname = usePathname()
const { rooms, mainRoom } = useMyStayStore((state) => ({
rooms: state.rooms,
mainRoom: state.mainRoom,
}))
const lang = useLang()
const bookingData: BookingWidgetSearchData = {
hotelId: mainRoom.hotelId,
rooms: rooms.map((room) => ({
adults: room.adults,
childrenInRoom: room.childrenInRoom,
})),
}
if (mainRoom.bookingCode) {
bookingData.bookingCode = mainRoom.bookingCode
}
if (mainRoom.bookingType === RateTypeEnum.Redemption) {
bookingData.searchType = "redemption"
}
const rebookUrl = serializeBookingSearchParams(bookingData)
const url = `/${lang}?${rebookUrl}`
return (
<>
{!isWebview(pathname) && (
<ButtonLink variant="Tertiary" size="md" href={url}>
{intl.formatMessage({
defaultMessage: "Rebook",
id: "myStay.referenceCard.actions.rebook",
})}
</ButtonLink>
)}
<CustomerSupport />
</>
)
}