diff --git a/components/ContentType/HotelPage/Rooms/index.tsx b/components/ContentType/HotelPage/Rooms/index.tsx index f1aba4665..a314adf22 100644 --- a/components/ContentType/HotelPage/Rooms/index.tsx +++ b/components/ContentType/HotelPage/Rooms/index.tsx @@ -3,18 +3,17 @@ import { useRef, useState } from "react" import { useIntl } from "react-intl" -import { ChevronDownIcon } from "@/components/Icons" import SectionContainer from "@/components/Section/Container" import SectionHeader from "@/components/Section/Header" -import Button from "@/components/TempDesignSystem/Button" import Grids from "@/components/TempDesignSystem/Grids" +import { ShowMoreButton } from "../ShowMoreButton" import { RoomCard } from "./RoomCard" import styles from "./rooms.module.css" import { HotelHashValues } from "@/types/components/hotelPage/tabNavigation" -import { RoomsProps } from "@/types/components/hotelPage/room" +import type { RoomsProps } from "@/types/components/hotelPage/room" export function Rooms({ rooms }: RoomsProps) { const intl = useIntl() @@ -82,20 +81,14 @@ export function Rooms({ rooms }: RoomsProps) { )} -
- -
+ {mappedRooms.length > 5 ? ( + + ) : null} ) } diff --git a/components/ContentType/HotelPage/ShowMoreButton/button.module.css b/components/ContentType/HotelPage/ShowMoreButton/button.module.css new file mode 100644 index 000000000..00e923e52 --- /dev/null +++ b/components/ContentType/HotelPage/ShowMoreButton/button.module.css @@ -0,0 +1,10 @@ +.ctaContainer { + display: flex; + justify-content: center; +} +.showMoreButton { + border: none; +} +.showMoreButton.showLess .chevron { + transform: rotate(180deg); +} diff --git a/components/ContentType/HotelPage/ShowMoreButton/index.tsx b/components/ContentType/HotelPage/ShowMoreButton/index.tsx new file mode 100644 index 000000000..94e3528d1 --- /dev/null +++ b/components/ContentType/HotelPage/ShowMoreButton/index.tsx @@ -0,0 +1,34 @@ +import { useIntl } from "react-intl" + +import { ChevronDownIcon } from "@/components/Icons" +import Button from "@/components/TempDesignSystem/Button" + +import styles from "./button.module.css" + +import type { ShowMoreButtonProps } from "@/types/components/hotelPage/button" + +export function ShowMoreButton({ + textShowMore, + textShowLess, + allItemsVisible, + handleToggleShowMore, +}: ShowMoreButtonProps) { + const intl = useIntl() + return ( +
+ +
+ ) +} diff --git a/types/components/hotelPage/button.ts b/types/components/hotelPage/button.ts new file mode 100644 index 000000000..7fdf0a540 --- /dev/null +++ b/types/components/hotelPage/button.ts @@ -0,0 +1,6 @@ +export type ShowMoreButtonProps = { + textShowMore: string + textShowLess: string + allItemsVisible: boolean + handleToggleShowMore: () => void +}