Merged in feat/SW-1292-scandic-go-breakfast-information (pull request #1407)

feat/SW-1292-scandic-go-breakfast-information

* feat(SW-1292): display breakfast information for scandic go


Approved-by: Erik Tiekstra
This commit is contained in:
Fredrik Thorsson
2025-02-26 08:10:33 +00:00
parent 541b91e34c
commit 667cab6fb6
11 changed files with 38 additions and 12 deletions

View File

@@ -1,15 +1,31 @@
import OpeningHours from "@/components/OpeningHours" import OpeningHours from "@/components/OpeningHours"
import AccordionItem from "@/components/TempDesignSystem/Accordion/AccordionItem" import AccordionItem from "@/components/TempDesignSystem/Accordion/AccordionItem"
import Body from "@/components/TempDesignSystem/Text/Body"
import { getIntl } from "@/i18n" import { getIntl } from "@/i18n"
import type { BreakfastAmenityProps } from "@/types/components/hotelPage/sidepeek/amenities" import type { BreakfastAmenityProps } from "@/types/components/hotelPage/sidepeek/amenities"
import { IconName } from "@/types/components/icon" import { IconName } from "@/types/components/icon"
import { HotelTypeEnum } from "@/types/enums/hotelType"
export default async function BreakfastAmenity({ export default async function BreakfastAmenity({
openingHours, openingHours,
alternateOpeningHours, alternateOpeningHours,
hotelType,
}: BreakfastAmenityProps) { }: BreakfastAmenityProps) {
const intl = await getIntl() const intl = await getIntl()
const accordionContent =
hotelType === HotelTypeEnum.ScandicGo ? (
<Body>{intl.formatMessage({ id: "All-day breakfast" })}</Body>
) : (
<OpeningHours
openingHours={openingHours!}
alternateOpeningHours={alternateOpeningHours!}
heading={intl.formatMessage({ id: "Opening hours" })}
type="amenities"
/>
)
return ( return (
<AccordionItem <AccordionItem
title={intl.formatMessage({ id: "Breakfast" })} title={intl.formatMessage({ id: "Breakfast" })}
@@ -17,12 +33,7 @@ export default async function BreakfastAmenity({
variant="sidepeek" variant="sidepeek"
trackingId="amenities:breakfast" trackingId="amenities:breakfast"
> >
<OpeningHours {accordionContent}
openingHours={openingHours}
alternateOpeningHours={alternateOpeningHours}
heading={intl.formatMessage({ id: "Opening hours" })}
type="amenities"
/>
</AccordionItem> </AccordionItem>
) )
} }

View File

@@ -13,6 +13,7 @@ import FilteredAmenities from "./FilteredAmenities"
import { SidepeekSlugs } from "@/types/components/hotelPage/hotelPage" import { SidepeekSlugs } from "@/types/components/hotelPage/hotelPage"
import type { AmenitiesSidePeekProps } from "@/types/components/hotelPage/sidepeek/amenities" import type { AmenitiesSidePeekProps } from "@/types/components/hotelPage/sidepeek/amenities"
import { FacilityEnum } from "@/types/enums/facilities" import { FacilityEnum } from "@/types/enums/facilities"
import { HotelTypeEnum } from "@/types/enums/hotelType"
export default async function AmenitiesSidePeek({ export default async function AmenitiesSidePeek({
amenitiesList, amenitiesList,
@@ -20,6 +21,7 @@ export default async function AmenitiesSidePeek({
checkInInformation, checkInInformation,
accessibility, accessibility,
restaurants, restaurants,
hotelType,
}: AmenitiesSidePeekProps) { }: AmenitiesSidePeekProps) {
const intl = await getIntl() const intl = await getIntl()
@@ -60,10 +62,11 @@ export default async function AmenitiesSidePeek({
parkingElevatorPitch={parking.parkingElevatorPitch} parkingElevatorPitch={parking.parkingElevatorPitch}
parkingPageUrl={parking.parkingPageUrl} parkingPageUrl={parking.parkingPageUrl}
/> />
{breakfastOpeningHours && ( {(breakfastOpeningHours || hotelType === HotelTypeEnum.ScandicGo) && (
<BreakfastAmenity <BreakfastAmenity
openingHours={breakfastOpeningHours.openingHours} openingHours={breakfastOpeningHours?.openingHours}
alternateOpeningHours={breakfastOpeningHours.alternateOpeningHours} alternateOpeningHours={breakfastOpeningHours?.alternateOpeningHours}
hotelType={hotelType}
/> />
)} )}
<CheckInAmenity checkInInformation={checkInInformation} /> <CheckInAmenity checkInInformation={checkInInformation} />

View File

@@ -81,6 +81,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
location, location,
ratings, ratings,
parking, parking,
hotelType,
} = hotelData.hotel } = hotelData.hotel
const restaurants = hotelData.restaurants const restaurants = hotelData.restaurants
const roomCategories = hotelData.roomCategories const roomCategories = hotelData.roomCategories
@@ -231,6 +232,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
: undefined, : undefined,
}} }}
restaurants={restaurants} restaurants={restaurants}
hotelType={hotelType}
/> />
<AboutTheHotelSidePeek <AboutTheHotelSidePeek
hotelAddress={address} hotelAddress={address}

View File

@@ -35,6 +35,7 @@
"Airport": "Lufthavn", "Airport": "Lufthavn",
"All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Alle tillæg leveres på samme tid. Ændringer i leveringstider vil påvirke tidligere tillæg.", "All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Alle tillæg leveres på samme tid. Ændringer i leveringstider vil påvirke tidligere tillæg.",
"All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Alle vores morgenmadsbuffeter tilbyder glutenfrie, veganske og allergivenlige muligheder.", "All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Alle vores morgenmadsbuffeter tilbyder glutenfrie, veganske og allergivenlige muligheder.",
"All-day breakfast": "Morgenmad hele dagen",
"Allergy-friendly room": "Allergirum", "Allergy-friendly room": "Allergirum",
"Already a friend?": "Allerede en ven?", "Already a friend?": "Allerede en ven?",
"Alternatives for": "Alternatives for", "Alternatives for": "Alternatives for",

View File

@@ -35,6 +35,7 @@
"Airport": "Flughafen", "Airport": "Flughafen",
"All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Alle Add-ons werden gleichzeitig geliefert. Änderungen der Lieferzeiten wirken sich auf frühere Add-ons aus.", "All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Alle Add-ons werden gleichzeitig geliefert. Änderungen der Lieferzeiten wirken sich auf frühere Add-ons aus.",
"All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Alle unsere Frühstücksbuffets bieten glutenfreie, vegane und allergikerfreundliche Speisen.", "All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Alle unsere Frühstücksbuffets bieten glutenfreie, vegane und allergikerfreundliche Speisen.",
"All-day breakfast": "Ganztag-Frühstück",
"Allergy-friendly room": "Allergikerzimmer", "Allergy-friendly room": "Allergikerzimmer",
"Already a friend?": "Sind wir schon Freunde?", "Already a friend?": "Sind wir schon Freunde?",
"Alternatives for": "Alternatives for", "Alternatives for": "Alternatives for",

View File

@@ -36,6 +36,7 @@
"Airport": "Airport", "Airport": "Airport",
"All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.", "All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.",
"All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.", "All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.",
"All-day breakfast": "All-day breakfast",
"Allergy-friendly room": "Allergy room", "Allergy-friendly room": "Allergy room",
"Already a friend?": "Already a friend?", "Already a friend?": "Already a friend?",
"Alternatives for": "Alternatives for", "Alternatives for": "Alternatives for",

View File

@@ -35,6 +35,7 @@
"Airport": "Lentokenttä", "Airport": "Lentokenttä",
"All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Kaikki lisäosat toimitetaan samanaikaisesti. Toimitusaikojen muutokset vaikuttavat aiempiin lisäosiin.", "All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Kaikki lisäosat toimitetaan samanaikaisesti. Toimitusaikojen muutokset vaikuttavat aiempiin lisäosiin.",
"All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Kaikki aamiaisbuffettimme tarjoavat gluteenittomia, vegaanisia ja allergiaystävällisiä vaihtoehtoja.", "All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Kaikki aamiaisbuffettimme tarjoavat gluteenittomia, vegaanisia ja allergiaystävällisiä vaihtoehtoja.",
"All-day breakfast": "Koko päivän aamiainen",
"Allergy-friendly room": "Allergiahuone", "Allergy-friendly room": "Allergiahuone",
"Already a friend?": "Oletko jo ystävä?", "Already a friend?": "Oletko jo ystävä?",
"Alternatives for": "Alternatives for", "Alternatives for": "Alternatives for",

View File

@@ -35,6 +35,7 @@
"Airport": "Flyplass", "Airport": "Flyplass",
"All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Alle tilvalg leveres samtidig. Endringer i leveringstidspunktene vil påvirke tidligere tilvalg.", "All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Alle tilvalg leveres samtidig. Endringer i leveringstidspunktene vil påvirke tidligere tilvalg.",
"All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Alle våre frokostbufféer tilbyr glutenfrie, veganske og allergivennlige alternativer.", "All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Alle våre frokostbufféer tilbyr glutenfrie, veganske og allergivennlige alternativer.",
"All-day breakfast": "Frokost hele dagen",
"Allergy-friendly room": "Allergirom", "Allergy-friendly room": "Allergirom",
"Already a friend?": "Allerede Friend?", "Already a friend?": "Allerede Friend?",
"Alternatives for": "Alternatives for", "Alternatives for": "Alternatives for",

View File

@@ -35,6 +35,7 @@
"Airport": "Flygplats", "Airport": "Flygplats",
"All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Alla tillägg levereras samtidigt. Ändringar av leveranstider kommer att påverka tidigare tillägg.", "All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.": "Alla tillägg levereras samtidigt. Ändringar av leveranstider kommer att påverka tidigare tillägg.",
"All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Alla våra frukostbufféer erbjuder glutenfria, veganska och allergivänliga alternativ.", "All our breakfast buffets offer gluten free, vegan, and allergy-friendly options.": "Alla våra frukostbufféer erbjuder glutenfria, veganska och allergivänliga alternativ.",
"All-day breakfast": "Frukost hela dagen",
"Allergy-friendly room": "Allergirum", "Allergy-friendly room": "Allergirum",
"Already a friend?": "Är du redan en vän?", "Already a friend?": "Är du redan en vän?",
"Alternatives for": "Alternatives for", "Alternatives for": "Alternatives for",

View File

@@ -8,6 +8,7 @@ export type AmenitiesSidePeekProps = {
checkInInformation: Hotel["hotelFacts"]["checkin"] checkInInformation: Hotel["hotelFacts"]["checkin"]
accessibility: AccessibilityAmenityProps accessibility: AccessibilityAmenityProps
restaurants: Restaurant[] restaurants: Restaurant[]
hotelType: Hotel["hotelType"]
} }
export type FilteredAmenitiesProps = { export type FilteredAmenitiesProps = {
@@ -15,6 +16,7 @@ export type FilteredAmenitiesProps = {
} }
export interface BreakfastAmenityProps { export interface BreakfastAmenityProps {
openingHours: RestaurantOpeningHours openingHours?: RestaurantOpeningHours
alternateOpeningHours?: RestaurantOpeningHours alternateOpeningHours?: RestaurantOpeningHours
hotelType: Hotel["hotelType"]
} }

View File

@@ -1,6 +1,8 @@
import type { BreakfastAmenityProps } from "./amenities" import type { RestaurantOpeningHours } from "@/types/hotel"
export interface OpeningHoursProps extends BreakfastAmenityProps { export interface OpeningHoursProps {
openingHours: RestaurantOpeningHours
alternateOpeningHours?: RestaurantOpeningHours
heading?: string heading?: string
type?: "amenities" | "default" type?: "amenities" | "default"
} }