Feat/lokalise rebuild * chore(lokalise): update translation ids * chore(lokalise): easier to switch between projects * chore(lokalise): update translation ids * . * . * . * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * chore(lokalise): new translations * merge * switch to errors for missing id's * merge * sync translations Approved-by: Linus Flood
49 lines
1.1 KiB
TypeScript
49 lines
1.1 KiB
TypeScript
import { useIntl } from "react-intl"
|
|
|
|
import { useMyStayStore } from "@/stores/my-stay"
|
|
|
|
import Row from "./Row"
|
|
|
|
export default function Guests() {
|
|
const intl = useIntl()
|
|
|
|
const { adults, childrenAges } = useMyStayStore((state) => ({
|
|
adults: state.bookedRoom.adults,
|
|
childrenAges: state.bookedRoom.childrenAges,
|
|
}))
|
|
|
|
const adultsMsg = intl.formatMessage(
|
|
{
|
|
id: "booking.numberOfAdults",
|
|
defaultMessage: "{adults, plural, one {# adult} other {# adults}}",
|
|
},
|
|
{
|
|
adults,
|
|
}
|
|
)
|
|
|
|
const childrenMsg = intl.formatMessage(
|
|
{
|
|
id: "booking.numberOfChildren",
|
|
defaultMessage: "{children, plural, one {# child} other {# children}}",
|
|
},
|
|
{
|
|
children: childrenAges.length,
|
|
}
|
|
)
|
|
|
|
const adultsOnlyMsg = adultsMsg
|
|
const adultsAndChildrenMsg = [adultsMsg, childrenMsg].join(", ")
|
|
|
|
return (
|
|
<Row
|
|
icon="person"
|
|
text={childrenAges.length > 0 ? adultsAndChildrenMsg : adultsOnlyMsg}
|
|
title={intl.formatMessage({
|
|
id: "booking.guests",
|
|
defaultMessage: "Guests",
|
|
})}
|
|
/>
|
|
)
|
|
}
|