diff --git a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/Accessibility/accessibilityAmenity.module.css b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/Accessibility/accessibilityAmenity.module.css
deleted file mode 100644
index 00ab8aebe..000000000
--- a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/Accessibility/accessibilityAmenity.module.css
+++ /dev/null
@@ -1,5 +0,0 @@
-.wrapper {
- display: flex;
- flex-direction: column;
- gap: var(--Spacing-x3);
-}
diff --git a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/Breakfast/index.tsx b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/Breakfast/index.tsx
deleted file mode 100644
index 9b42adee9..000000000
--- a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/Breakfast/index.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import { IconName } from "@/components/Icons/iconName"
-import OpeningHours from "@/components/OpeningHours"
-import AccordionItem from "@/components/TempDesignSystem/Accordion/AccordionItem"
-import Body from "@/components/TempDesignSystem/Text/Body"
-import { getIntl } from "@/i18n"
-
-import type { BreakfastAmenityProps } from "@/types/components/hotelPage/sidepeek/amenities"
-import { HotelTypeEnum } from "@/types/enums/hotelType"
-
-export default async function BreakfastAmenity({
- openingHours,
- alternateOpeningHours,
- hotelType,
-}: BreakfastAmenityProps) {
- const intl = await getIntl()
-
- const accordionContent =
- hotelType === HotelTypeEnum.ScandicGo ? (
-
- {intl.formatMessage({
- defaultMessage: "All-day breakfast",
- })}
-
- ) : (
-
- )
-
- return (
-
- {accordionContent}
-
- )
-}
diff --git a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/CheckIn/index.tsx b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/CheckIn/index.tsx
deleted file mode 100644
index dd9ae942f..000000000
--- a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/CheckIn/index.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import { IconName } from "@/components/Icons/iconName"
-import AccordionItem from "@/components/TempDesignSystem/Accordion/AccordionItem"
-import Body from "@/components/TempDesignSystem/Text/Body"
-import { getIntl } from "@/i18n"
-
-import type { CheckInAmenityProps } from "@/types/components/hotelPage/sidepeek/checkIn"
-
-export default async function CheckInAmenity({
- checkInInformation,
-}: CheckInAmenityProps) {
- const intl = await getIntl()
- const { checkInTime, checkOutTime } = checkInInformation
- return (
-
-
- {intl.formatMessage({
- defaultMessage: "Times",
- })}
-
-
- {intl.formatMessage(
- {
- defaultMessage: "Check in from: {checkInTime}",
- },
- { checkInTime }
- )}
-
-
- {intl.formatMessage(
- {
- defaultMessage: "Check out at latest: {checkOutTime}",
- },
- { checkOutTime }
- )}
-
-
- )
-}
diff --git a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/Parking/parkingAmenity.module.css b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/Parking/parkingAmenity.module.css
deleted file mode 100644
index 1f6c40d74..000000000
--- a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/Parking/parkingAmenity.module.css
+++ /dev/null
@@ -1,4 +0,0 @@
-.wrapper {
- display: grid;
- gap: var(--Spacing-x3);
-}
diff --git a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/index.ts b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/index.ts
deleted file mode 100644
index 58ecb1e2e..000000000
--- a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/AccordionAmenities/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export { default as AccessibilityAmenity } from "./Accessibility"
-export { default as BreakfastAmenity } from "./Breakfast"
-export { default as CheckInAmenity } from "./CheckIn"
-export { default as ParkingAmenity } from "./Parking"
diff --git a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/FilteredAmenities/index.tsx b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/FilteredAmenities/index.tsx
deleted file mode 100644
index d83066d67..000000000
--- a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/FilteredAmenities/index.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
-
-import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
-
-import { FacilityToIcon } from "../../../data"
-
-import styles from "./filteredAmenities.module.css"
-
-import type { FilteredAmenitiesProps } from "@/types/components/hotelPage/sidepeek/amenities"
-
-export default function FilteredAmenities({
- filteredAmenities,
-}: FilteredAmenitiesProps) {
- return (
- <>
- {filteredAmenities?.map((amenity) => {
- const Icon = (
-
- )
- return (
-
-
- {Icon ? (
- Icon
- ) : (
-
- )}
-
- {amenity.name}
-
-
-
- )
- })}
- >
- )
-}
diff --git a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/index.tsx b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/index.tsx
index 0e9ef9147..6149fe7e8 100644
--- a/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/index.tsx
+++ b/apps/scandic-web/components/ContentType/HotelPage/SidePeeks/Amenities/index.tsx
@@ -1,19 +1,14 @@
+import AccessibilityAccordionItem from "@/components/SidePeeks/AmenitiesSidepeekContent/Accordions/Accessibility"
+import BreakfastAccordionItem from "@/components/SidePeeks/AmenitiesSidepeekContent/Accordions/Breakfast"
+import CheckInCheckOutAccordionItem from "@/components/SidePeeks/AmenitiesSidepeekContent/Accordions/CheckInCheckOut"
+import ParkingAccordionItem from "@/components/SidePeeks/AmenitiesSidepeekContent/Accordions/Parking"
+import AdditionalAmenities from "@/components/SidePeeks/AmenitiesSidepeekContent/AdditionalAmenities"
import Accordion from "@/components/TempDesignSystem/Accordion"
import SidePeek from "@/components/TempDesignSystem/SidePeek"
import { getIntl } from "@/i18n"
-import {
- AccessibilityAmenity,
- BreakfastAmenity,
- CheckInAmenity,
- ParkingAmenity,
-} from "./AccordionAmenities"
-import FilteredAmenities from "./FilteredAmenities"
-
import { SidepeekSlugs } from "@/types/components/hotelPage/hotelPage"
import type { AmenitiesSidePeekProps } from "@/types/components/hotelPage/sidepeek/amenities"
-import { FacilityEnum } from "@/types/enums/facilities"
-import { HotelTypeEnum } from "@/types/enums/hotelType"
export default async function AmenitiesSidePeek({
amenitiesList,
@@ -25,35 +20,6 @@ export default async function AmenitiesSidePeek({
}: AmenitiesSidePeekProps) {
const intl = await getIntl()
- const amenitiesToRemove = [
- FacilityEnum.ParkingAdditionalCost,
- FacilityEnum.ParkingElectricCharging,
- FacilityEnum.ParkingFreeParking,
- FacilityEnum.ParkingGarage,
- FacilityEnum.ParkingOutdoor,
- FacilityEnum.MeetingArea,
- FacilityEnum.ServesBreakfastAlwaysIncluded,
- FacilityEnum.LateCheckOutUntil1400Guaranteed,
- ]
-
- const filteredAmenities = amenitiesList.filter(
- (amenity) => !amenitiesToRemove.includes(amenity.id)
- )
-
- const breakfastOpeningHours = restaurants
- ?.map((restaurant) => {
- const breakfastDetail = restaurant.openingDetails.find(
- (details) =>
- details.openingHours.name === "Breakfast" ||
- details.openingHours.name ===
- intl.formatMessage({
- defaultMessage: "Breakfast",
- })
- )
- return breakfastDetail
- })
- .filter(Boolean)[0]
-
return (
-
- {(breakfastOpeningHours || hotelType === HotelTypeEnum.ScandicGo) && (
-
- )}
-
- {(accessibility.elevatorPitch ||
- accessibility.accessibilityPageUrl) && (
-
- )}
-
+
+
+
+
)
diff --git a/apps/scandic-web/components/HotelReservation/HotelCard/index.tsx b/apps/scandic-web/components/HotelReservation/HotelCard/index.tsx
index ed828d383..63b8a8061 100644
--- a/apps/scandic-web/components/HotelReservation/HotelCard/index.tsx
+++ b/apps/scandic-web/components/HotelReservation/HotelCard/index.tsx
@@ -38,6 +38,7 @@ import styles from "./hotelCard.module.css"
import { HotelCardListingTypeEnum } from "@/types/components/hotelReservation/selectHotel/hotelCardListingProps"
import type { HotelCardProps } from "@/types/components/hotelReservation/selectHotel/hotelCardProps"
+import { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek"
import { RateTypeEnum } from "@/types/enums/rateType"
import type { Lang } from "@/constants/languages"
@@ -173,6 +174,7 @@ function HotelCard({
hotelId={hotel.operaId}
hotel={hotel}
showCTA={true}
+ sidePeekKey={SidePeekEnum.hotelDetails}
/>
diff --git a/apps/scandic-web/components/HotelReservation/ReadMore/index.tsx b/apps/scandic-web/components/HotelReservation/ReadMore/index.tsx
index 865636fa1..7295fbe36 100644
--- a/apps/scandic-web/components/HotelReservation/ReadMore/index.tsx
+++ b/apps/scandic-web/components/HotelReservation/ReadMore/index.tsx
@@ -1,30 +1,29 @@
"use client"
+import { Button } from "@scandic-hotels/design-system/Button"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import useSidePeekStore from "@/stores/sidepeek"
-import Button from "@/components/TempDesignSystem/Button"
-
-import styles from "./readMore.module.css"
-
import type { ReadMoreProps } from "@/types/components/hotelReservation/selectHotel/selectHotel"
-import { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek"
-export default function ReadMore({ label, hotelId, showCTA }: ReadMoreProps) {
+export default function ReadMore({
+ label,
+ hotelId,
+ showCTA,
+ sidePeekKey,
+}: ReadMoreProps) {
const openSidePeek = useSidePeekStore((state) => state.openSidePeek)
return (
)
}
diff --git a/apps/scandic-web/components/HotelReservation/ReadMore/readMore.module.css b/apps/scandic-web/components/HotelReservation/ReadMore/readMore.module.css
deleted file mode 100644
index f7859a8fc..000000000
--- a/apps/scandic-web/components/HotelReservation/ReadMore/readMore.module.css
+++ /dev/null
@@ -1,25 +0,0 @@
-.detailsButton {
- align-self: start;
- border-radius: 0;
- height: auto;
- padding-left: 0;
- padding-right: 0;
-}
-
-.content {
- display: grid;
- gap: var(--Spacing-x2);
-}
-
-.amenity {
- font-family: var(--typography-Body-Regular-fontFamily);
- border-bottom: 1px solid var(--Base-Border-Subtle);
- /* padding set to align with AccordionItem which has a different composition */
- padding: var(--Spacing-x2)
- calc(var(--Spacing-x1) + var(--Spacing-x-one-and-half));
-}
-
-.list {
- font-family: var(--typography-Body-Regular-fontFamily);
- list-style: inside;
-}
diff --git a/apps/scandic-web/components/HotelReservation/SelectRate/HotelInfoCard/index.tsx b/apps/scandic-web/components/HotelReservation/SelectRate/HotelInfoCard/index.tsx
index ccddde596..b534203f9 100644
--- a/apps/scandic-web/components/HotelReservation/SelectRate/HotelInfoCard/index.tsx
+++ b/apps/scandic-web/components/HotelReservation/SelectRate/HotelInfoCard/index.tsx
@@ -16,6 +16,7 @@ import TripAdvisorChip from "../../TripAdvisorChip"
import styles from "./hotelInfoCard.module.css"
import type { HotelInfoCardProps } from "@/types/components/hotelReservation/selectRate/hotelInfoCard"
+import { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek"
export default async function HotelInfoCard({ hotel }: HotelInfoCardProps) {
const intl = await getIntl()
@@ -88,6 +89,7 @@ export default async function HotelInfoCard({ hotel }: HotelInfoCardProps) {
hotelId={hotel.operaId}
hotel={hotel}
showCTA={false}
+ sidePeekKey={SidePeekEnum.amenities}
/>
diff --git a/apps/scandic-web/components/HotelReservation/SidePeek/index.tsx b/apps/scandic-web/components/HotelReservation/SidePeek/index.tsx
index c35f9a334..5f39a877d 100644
--- a/apps/scandic-web/components/HotelReservation/SidePeek/index.tsx
+++ b/apps/scandic-web/components/HotelReservation/SidePeek/index.tsx
@@ -3,6 +3,7 @@
import { trpc } from "@/lib/trpc/client"
import useSidePeekStore from "@/stores/sidepeek"
+import AmenitiesSidePeek from "@/components/SidePeeks/AmenitiesSidePeek"
import BookedRoomSidePeek from "@/components/SidePeeks/BookedRoomSidePeek"
import HotelSidePeek from "@/components/SidePeeks/HotelSidePeek"
import RoomSidePeek from "@/components/SidePeeks/RoomSidePeek"
@@ -39,13 +40,23 @@ export default function HotelReservationSidePeek() {
return (
<>
{hotelData && (
-
+ <>
+
+
+ >
)}
{selectedRoom && (
+
{numberOfChargingSpaces ? (
-
@@ -71,6 +74,6 @@ export default async function ParkingList({
) : null}
-
- {intl.formatMessage({
- defaultMessage: "Free parking",
- })}
-