feat(SW-914): add checkin information

This commit is contained in:
Fredrik Thorsson
2024-11-26 17:31:47 +01:00
parent 65aa5f37ae
commit 29e56d35eb
17 changed files with 60 additions and 30 deletions

View File

@@ -0,0 +1,23 @@
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"
import { IconName } from "@/types/components/icon"
export default async function CheckInAmenity({
checkInInformation,
}: CheckInAmenityProps) {
const intl = await getIntl()
const { checkInTime, checkOutTime } = checkInInformation
return (
<AccordionItem
title={`${intl.formatMessage({ id: "Check-in" })}/${intl.formatMessage({ id: "Check-out" })}`}
icon={IconName.Business}
>
<Body textTransform="bold">{intl.formatMessage({ id: "Times" })}</Body>
<Body color="uiTextHighContrast">{`${intl.formatMessage({ id: "Check in from" })}: ${checkInTime}`}</Body>
<Body color="uiTextHighContrast">{`${intl.formatMessage({ id: "Check out at latest" })}: ${checkOutTime}`}</Body>
</AccordionItem>
)
}

View File

@@ -1,16 +0,0 @@
import AccordionItem from "@/components/TempDesignSystem/Accordion/AccordionItem"
import { getIntl } from "@/i18n"
import { IconName } from "@/types/components/icon"
export default async function CheckInCheckOutAmenity() {
const intl = await getIntl()
return (
<AccordionItem
title={`${intl.formatMessage({ id: "Check-in" })}/${intl.formatMessage({ id: "Check-out" })}`}
icon={IconName.Business}
>
Check in / check out information
</AccordionItem>
)
}

View File

@@ -4,10 +4,10 @@ import { getIntl } from "@/i18n"
import styles from "./parking.module.css"
import { ParkingProps } from "@/types/components/hotelPage/sidepeek/parking"
import { ParkingAmenityProps } from "@/types/components/hotelPage/sidepeek/parking"
import { IconName } from "@/types/components/icon"
export default async function ParkingAmenity({ parking }: ParkingProps) {
export default async function ParkingAmenity({ parking }: ParkingAmenityProps) {
const intl = await getIntl()
const hour = intl.formatMessage({ id: "per hour during" })
const day = intl.formatMessage({ id: "per day during" })
@@ -27,9 +27,6 @@ export default async function ParkingAmenity({ parking }: ParkingProps) {
}
}
const test = parking.map((data) => data.pricing.localCurrency.range)
console.log("dfafda", test)
return (
<AccordionItem
title={intl.formatMessage({ id: "Parking" })}

View File

@@ -1,4 +1,4 @@
export { default as AccessibilityAmenity } from "./Accessibility"
export { default as BreakfastAmenity } from "./Breakfast"
export { default as CheckInCheckOutAmenity } from "./CheckInCheckOut"
export { default as CheckInAmenity } from "./CheckIn"
export { default as ParkingAmenity } from "./Parking"

View File

@@ -8,7 +8,7 @@ import { getLang } from "@/i18n/serverContext"
import {
AccessibilityAmenity,
BreakfastAmenity,
CheckInCheckOutAmenity,
CheckInAmenity,
ParkingAmenity,
} from "./AccordionAmenities"
import Amenity from "./Amenity"
@@ -18,11 +18,12 @@ import type { AmenitiesSidePeekProps } from "@/types/components/hotelPage/sidepe
export default async function AmenitiesSidePeek({
amenitiesList,
parking,
checkInInformation,
}: AmenitiesSidePeekProps) {
const lang = getLang()
const intl = await getIntl()
const filteredAmenities = amenitiesList?.filter((filter) => {
const filteredAmenities = amenitiesList.filter((filter) => {
return (
!filter.name.startsWith("Parking") &&
filter.name !== "Meeting / conference facilities" &&
@@ -36,9 +37,9 @@ export default async function AmenitiesSidePeek({
title={intl.formatMessage({ id: "Amenities" })}
>
<Accordion>
{parking?.length ? <ParkingAmenity parking={parking} /> : null}
{parking.length ? <ParkingAmenity parking={parking} /> : null}
<BreakfastAmenity />
<CheckInCheckOutAmenity />
<CheckInAmenity checkInInformation={checkInInformation} />
<AccessibilityAmenity />
<Amenity filteredAmenities={filteredAmenities} />
</Accordion>

View File

@@ -31,7 +31,7 @@ export default async function Facility({ data }: FacilityProps) {
</Subtitle>
<div>
<Subtitle type="two" color="uiTextHighContrast">
{intl.formatMessage({ id: " Opening Hours" })}
{intl.formatMessage({ id: "Opening Hours" })}
</Subtitle>
<div className={styles.openingHours}>
<Body color="uiTextHighContrast">

View File

@@ -79,6 +79,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
hotelFacts,
location,
ratings,
parking,
} = hotelData.data.attributes
const roomCategories =
hotelData.included?.filter((item) => item.type === "roomcategories") || []

View File

@@ -59,7 +59,9 @@
"Cancel": "Afbestille",
"Change room": "Skift værelse",
"Check in": "Check ind",
"Check in from": "Indtjekning fra",
"Check out": "Check ud",
"Check out at latest": "Udtjekning senest",
"Check out the credit cards saved to your profile. Pay with a saved card when signed in for a smoother web experience.": "Tjek de kreditkort, der er gemt på din profil. Betal med et gemt kort, når du er logget ind for en mere jævn weboplevelse.",
"Children": "børn",
"Choose room": "Vælg rum",
@@ -369,6 +371,7 @@
"There are no transactions to display": "Der er ingen transaktioner at vise",
"Things nearby HOTEL_NAME": "Ting i nærheden af {hotelName}",
"This room is not available": "Dette værelse er ikke tilgængeligt",
"Times": "Tider",
"To get the member price <span>{amount} {currency}</span>, log in or join when completing the booking.": "For at få medlemsprisen <span>{amount} {currency}</span>, log ind eller tilmeld dig, når du udfylder bookingen.",
"To secure your reservation, we kindly ask you to provide your payment card details. Rest assured, no charges will be made at this time.": "For at sikre din reservation, beder vi om at du giver os dine betalingsoplysninger. Du kan så være sikker på, at ingen gebyrer vil blive opkrævet på dette tidspunkt.",
"Total": "Total",

View File

@@ -59,7 +59,9 @@
"Cancel": "Stornieren",
"Change room": "Zimmer ändern",
"Check in": "Einchecken",
"Check in from": "Check-in ab",
"Check out": "Auschecken",
"Check out at latest": "Check-out spätestens",
"Check out the credit cards saved to your profile. Pay with a saved card when signed in for a smoother web experience.": "Sehen Sie sich die in Ihrem Profil gespeicherten Kreditkarten an. Bezahlen Sie mit einer gespeicherten Karte, wenn Sie angemeldet sind, für ein reibungsloseres Web-Erlebnis.",
"Children": "Kinder",
"Choose room": "Zimmer wählen",
@@ -368,6 +370,7 @@
"There are no transactions to display": "Es sind keine Transaktionen zum Anzeigen vorhanden",
"Things nearby HOTEL_NAME": "Dinge in der Nähe von {hotelName}",
"This room is not available": "Dieses Zimmer ist nicht verfügbar",
"Times": "Zeiten",
"To get the member price <span>{amount} {currency}</span>, log in or join when completing the booking.": "Um den Mitgliederpreis von <span>{amount} {currency}</span> zu erhalten, loggen Sie sich ein oder treten Sie Scandic Friends bei, wenn Sie die Buchung abschließen.",
"To secure your reservation, we kindly ask you to provide your payment card details. Rest assured, no charges will be made at this time.": "Um Ihre Reservierung zu sichern, bitten wir Sie, Ihre Zahlungskarteninformationen zu geben. Sie können sicher sein, dass keine Gebühren zu diesem Zeitpunkt erhoben werden.",
"Total": "Gesamt",

View File

@@ -64,7 +64,9 @@
"Cancellation policy": "Cancellation policy",
"Change room": "Change room",
"Check in": "Check in",
"Check in from": "Check in from",
"Check out": "Check out",
"Check out at latest": "Check out at latest",
"Check out the credit cards saved to your profile. Pay with a saved card when signed in for a smoother web experience.": "Check out the credit cards saved to your profile. Pay with a saved card when signed in for a smoother web experience.",
"Check-in": "Check-in",
"Check-out": "Check-out",
@@ -397,6 +399,7 @@
"There are no transactions to display": "There are no transactions to display",
"Things nearby HOTEL_NAME": "Things nearby {hotelName}",
"This room is not available": "This room is not available",
"Times": "Times",
"To get the member price <span>{amount} {currency}</span>, log in or join when completing the booking.": "To get the member price <span>{amount} {currency}</span>, log in or join when completing the booking.",
"To secure your reservation, we kindly ask you to provide your payment card details. Rest assured, no charges will be made at this time.": "To secure your reservation, we kindly ask you to provide your payment card details. Rest assured, no charges will be made at this time.",
"Total": "Total",

View File

@@ -59,7 +59,9 @@
"Cancel": "Peruuttaa",
"Change room": "Vaihda huonetta",
"Check in": "Sisäänkirjautuminen",
"Check in from": "Sisäänkirjautuminen alkaen",
"Check out": "Uloskirjautuminen",
"Check out at latest": "Uloskirjautuminen viimeistään",
"Check out the credit cards saved to your profile. Pay with a saved card when signed in for a smoother web experience.": "Tarkista profiiliisi tallennetut luottokortit. Maksa tallennetulla kortilla kirjautuneena, jotta verkkokokemus on sujuvampi.",
"Children": "Lasta",
"Choose room": "Valitse huone",
@@ -369,6 +371,7 @@
"There are no transactions to display": "Näytettäviä tapahtumia ei ole",
"Things nearby HOTEL_NAME": "Lähellä olevia asioita {hotelName}",
"This room is not available": "Tämä huone ei ole käytettävissä",
"Times": "Ajat",
"To get the member price <span>{amount} {currency}</span>, log in or join when completing the booking.": "Jäsenhintaan saavat sisäänkirjautuneet tai liittyneet jäsenet.",
"To secure your reservation, we kindly ask you to provide your payment card details. Rest assured, no charges will be made at this time.": "Varmistaaksesi varauksen, pyydämme sinua antamaan meille maksukortin tiedot. Varmista, että ei veloiteta maksusi tällä hetkellä.",
"Total": "Kokonais",

View File

@@ -59,7 +59,9 @@
"Cancel": "Avbryt",
"Change room": "Endre rom",
"Check in": "Sjekk inn",
"Check in from": "Innsjekking fra",
"Check out": "Sjekk ut",
"Check out at latest": "Utsjekking senest",
"Check out the credit cards saved to your profile. Pay with a saved card when signed in for a smoother web experience.": "Sjekk ut kredittkortene som er lagret på profilen din. Betal med et lagret kort når du er pålogget for en jevnere nettopplevelse.",
"Children": "Barn",
"Choose room": "Velg rom",
@@ -366,6 +368,7 @@
"There are no transactions to display": "Det er ingen transaksjoner å vise",
"Things nearby HOTEL_NAME": "Ting i nærheten av {hotelName}",
"This room is not available": "Dette rommet er ikke tilgjengelig",
"Times": "Tider",
"To get the member price <span>{amount} {currency}</span>, log in or join when completing the booking.": "For å få medlemsprisen <span>{amount} {currency}</span>, logg inn eller bli med når du fullfører bestillingen.",
"To secure your reservation, we kindly ask you to provide your payment card details. Rest assured, no charges will be made at this time.": "For å sikre din reservasjon, ber vi om at du gir oss dine betalingskortdetaljer. Vær sikker på at ingen gebyrer vil bli belastet på dette tidspunktet.",
"Total": "Total",

View File

@@ -59,7 +59,9 @@
"Cancel": "Avbryt",
"Change room": "Ändra rum",
"Check in": "Checka in",
"Check in from": "Incheckning från",
"Check out": "Checka ut",
"Check out at latest": "Utcheckning senast",
"Check out the credit cards saved to your profile. Pay with a saved card when signed in for a smoother web experience.": "Kolla in kreditkorten som sparats i din profil. Betala med ett sparat kort när du är inloggad för en smidigare webbupplevelse.",
"Children": "Barn",
"Choose room": "Välj rum",
@@ -366,6 +368,7 @@
"There are no transactions to display": "Det finns inga transaktioner att visa",
"Things nearby HOTEL_NAME": "Saker i närheten av {hotelName}",
"This room is not available": "Detta rum är inte tillgängligt",
"Times": "Tider",
"To get the member price <span>{amount} {currency}</span>, log in or join when completing the booking.": "För att få medlemsprisen <span>{amount} {currency}</span>, logga in eller bli medlem när du slutför bokningen.",
"To secure your reservation, we kindly ask you to provide your payment card details. Rest assured, no charges will be made at this time.": "För att säkra din bokning ber vi om att du ger oss dina betalkortdetaljer. Välj säker på att ingen avgifter kommer att debiteras just nu.",
"Total": "Totalt",

View File

@@ -1,6 +1,7 @@
import type { Hotel } from "@/types/hotel"
export type AmenitiesSidePeekProps = {
amenitiesList?: Hotel["detailedFacilities"]
parking?: Hotel["parking"]
amenitiesList: Hotel["detailedFacilities"]
parking: Hotel["parking"]
checkInInformation: Hotel["hotelFacts"]["checkin"]
}

View File

@@ -0,0 +1,5 @@
import type { Hotel } from "@/types/hotel"
export type CheckInAmenityProps = {
checkInInformation: Hotel["hotelFacts"]["checkin"]
}

View File

@@ -1,5 +1,5 @@
import type { Hotel } from "@/types/hotel"
export type ParkingProps = {
export type ParkingAmenityProps = {
parking: Hotel["parking"]
}