From 731000519b0be3d7fd245f5cac1b2b48015ad76f Mon Sep 17 00:00:00 2001 From: Erik Tiekstra Date: Tue, 27 May 2025 05:33:06 +0000 Subject: [PATCH] fix(SW-995): Made the room cards to have the same height as its neighbors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Approved-by: Matilda Landström --- .../HotelPage/Rooms/RoomCard/index.tsx | 2 + .../Rooms/RoomCard/roomCard.module.css | 9 +++- .../ContentType/HotelPage/Rooms/index.tsx | 27 ++++++----- .../HotelPage/Rooms/rooms.module.css | 47 ++++++++++++------- .../SidePeeks/Room/RoomFacilities/index.tsx | 5 +- 5 files changed, 57 insertions(+), 33 deletions(-) diff --git a/apps/scandic-web/components/ContentType/HotelPage/Rooms/RoomCard/index.tsx b/apps/scandic-web/components/ContentType/HotelPage/Rooms/RoomCard/index.tsx index 450ce73a9..0d714283c 100644 --- a/apps/scandic-web/components/ContentType/HotelPage/Rooms/RoomCard/index.tsx +++ b/apps/scandic-web/components/ContentType/HotelPage/Rooms/RoomCard/index.tsx @@ -66,8 +66,10 @@ export function RoomCard({ room }: RoomCardProps) { {intl.formatMessage({ defaultMessage: "See room details", diff --git a/apps/scandic-web/components/ContentType/HotelPage/Rooms/RoomCard/roomCard.module.css b/apps/scandic-web/components/ContentType/HotelPage/Rooms/RoomCard/roomCard.module.css index 464cea1ef..4e1750314 100644 --- a/apps/scandic-web/components/ContentType/HotelPage/Rooms/RoomCard/roomCard.module.css +++ b/apps/scandic-web/components/ContentType/HotelPage/Rooms/RoomCard/roomCard.module.css @@ -3,20 +3,21 @@ background-color: var(--Surface-Primary-Default); border: 1px solid var(--Border-Default); display: grid; + grid-template-rows: auto 1fr; overflow: hidden; color: var(--Text-Default); + height: 100%; } .content { display: grid; - justify-items: center; gap: var(--Space-x05); padding: var(--Space-x2); } .innerContent { display: grid; - justify-items: center; + text-align: center; gap: var(--Space-x1); } @@ -28,3 +29,7 @@ .roomSize { color: var(--Text-Tertiary); } + +.buttonLink { + align-self: end; +} diff --git a/apps/scandic-web/components/ContentType/HotelPage/Rooms/index.tsx b/apps/scandic-web/components/ContentType/HotelPage/Rooms/index.tsx index ebdfbd130..5fe01eee8 100644 --- a/apps/scandic-web/components/ContentType/HotelPage/Rooms/index.tsx +++ b/apps/scandic-web/components/ContentType/HotelPage/Rooms/index.tsx @@ -1,12 +1,12 @@ "use client" -import { useRef, useState } from "react" +import { cx } from "class-variance-authority" +import { useMemo, useRef, useState } from "react" import { useIntl } from "react-intl" import { Typography } from "@scandic-hotels/design-system/Typography" import SectionContainer from "@/components/Section/Container" -import Grids from "@/components/TempDesignSystem/Grids" import ShowMoreButton from "@/components/TempDesignSystem/ShowMoreButton" import { RoomCard } from "./RoomCard" @@ -20,6 +20,9 @@ export function Rooms({ rooms, preamble }: RoomsProps) { const intl = useIntl() const showToggleButton = rooms.length > 3 const [allRoomsVisible, setAllRoomsVisible] = useState(!showToggleButton) + const sortedRooms = useMemo(() => { + return rooms.sort((a, b) => a.sortOrder - b.sortOrder) + }, [rooms]) const scrollRef = useRef(null) @@ -50,17 +53,17 @@ export function Rooms({ rooms, preamble }: RoomsProps) { )} - - {rooms - .sort((a, b) => a.sortOrder - b.sortOrder) - .map((room) => ( -
- -
- ))} -
+ {sortedRooms.map((room) => ( +
  • + +
  • + ))} + {showToggleButton ? ( :nth-child(n + 4) { - display: none; -} - -.sectionHeader { +.roomsList { display: grid; - gap: var(--Spacing-x-one-and-half); - max-width: var(--hotel-page-intro-section-width); + gap: var(--Space-x2); + grid-template-columns: 1fr; + list-style: none; + + &:not(.allVisible) > :nth-child(n + 4) { + display: none; + } } -.heading { - color: var(--Text-Heading); +@media screen and (min-width: 768px) { + .roomsList { + grid-template-columns: repeat(2, 1fr); + } +} + +@media screen and (min-width: 1367px) { + .roomsList { + grid-template-columns: repeat(3, 1fr); + } } diff --git a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Room/RoomFacilities/index.tsx b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Room/RoomFacilities/index.tsx index b6e3f166d..1d4f039b7 100644 --- a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Room/RoomFacilities/index.tsx +++ b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Room/RoomFacilities/index.tsx @@ -68,7 +68,10 @@ export default function RoomFacilities({ })} > {mappedFacilities.map((facility) => ( -
  • +