fix: SW-981 Rounded to single decimal as current web

This commit is contained in:
Hrishikesh Vaipurkar
2024-11-22 18:51:11 +01:00
parent bd6fd62d5c
commit 21f9719050
6 changed files with 26 additions and 5 deletions

View File

@@ -7,6 +7,7 @@ import Body from "@/components/TempDesignSystem/Text/Body"
import Caption from "@/components/TempDesignSystem/Text/Caption" import Caption from "@/components/TempDesignSystem/Text/Caption"
import Title from "@/components/TempDesignSystem/Text/Title" import Title from "@/components/TempDesignSystem/Text/Title"
import { getIntl } from "@/i18n" import { getIntl } from "@/i18n"
import getSingleDecimal from "@/utils/numberFormatting"
import styles from "./page.module.css" import styles from "./page.module.css"
@@ -47,7 +48,11 @@ export default async function HotelHeader({
<Caption color="textMediumContrast"> <Caption color="textMediumContrast">
{intl.formatMessage( {intl.formatMessage(
{ id: "Distance in km to city centre" }, { id: "Distance in km to city centre" },
{ number: hotel.location.distanceToCentre / 1000 } {
number: getSingleDecimal(
hotel.location.distanceToCentre / 1000
),
}
)} )}
</Caption> </Caption>
</address> </address>

View File

@@ -8,6 +8,7 @@ import Caption from "@/components/TempDesignSystem/Text/Caption"
import Subtitle from "@/components/TempDesignSystem/Text/Subtitle" import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
import Title from "@/components/TempDesignSystem/Text/Title" import Title from "@/components/TempDesignSystem/Text/Title"
import { getIntl } from "@/i18n" import { getIntl } from "@/i18n"
import getSingleDecimal from "@/utils/numberFormatting"
import styles from "./hotelListingItem.module.css" import styles from "./hotelListingItem.module.css"
@@ -47,7 +48,7 @@ export default async function HotelListingItem({
<Caption color="uiTextPlaceholder"> <Caption color="uiTextPlaceholder">
{intl.formatMessage( {intl.formatMessage(
{ id: "Distance in km to city centre" }, { id: "Distance in km to city centre" },
{ number: distanceToCentre / 1000 } { number: getSingleDecimal(distanceToCentre / 1000) }
)} )}
</Caption> </Caption>
</div> </div>

View File

@@ -8,6 +8,7 @@ import Preamble from "@/components/TempDesignSystem/Text/Preamble"
import Title from "@/components/TempDesignSystem/Text/Title" import Title from "@/components/TempDesignSystem/Text/Title"
import { getIntl } from "@/i18n" import { getIntl } from "@/i18n"
import { getLang } from "@/i18n/serverContext" import { getLang } from "@/i18n/serverContext"
import getSingleDecimal from "@/utils/numberFormatting"
import styles from "./introSection.module.css" import styles from "./introSection.module.css"
@@ -25,7 +26,7 @@ export default async function IntroSection({
const { distanceToCentre } = location const { distanceToCentre } = location
const formattedDistanceText = intl.formatMessage( const formattedDistanceText = intl.formatMessage(
{ id: "Distance in km to city centre" }, { id: "Distance in km to city centre" },
{ number: distanceToCentre / 1000 } { number: getSingleDecimal(distanceToCentre / 1000) }
) )
const lang = getLang() const lang = getLang()
const formattedLocationText = `${streetAddress}, ${city} (${formattedDistanceText})` const formattedLocationText = `${streetAddress}, ${city} (${formattedDistanceText})`

View File

@@ -12,6 +12,7 @@ import Link from "@/components/TempDesignSystem/Link"
import Body from "@/components/TempDesignSystem/Text/Body" import Body from "@/components/TempDesignSystem/Text/Body"
import Caption from "@/components/TempDesignSystem/Text/Caption" import Caption from "@/components/TempDesignSystem/Text/Caption"
import Subtitle from "@/components/TempDesignSystem/Text/Subtitle" import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
import getSingleDecimal from "@/utils/numberFormatting"
import ReadMore from "../ReadMore" import ReadMore from "../ReadMore"
import TripAdvisorChip from "../TripAdvisorChip" import TripAdvisorChip from "../TripAdvisorChip"
@@ -104,7 +105,11 @@ export default function HotelCard({
<Caption color="uiTextPlaceholder"> <Caption color="uiTextPlaceholder">
{intl.formatMessage( {intl.formatMessage(
{ id: "Distance in km to city centre" }, { id: "Distance in km to city centre" },
{ number: hotelData.location.distanceToCentre / 1000 } {
number: getSingleDecimal(
hotelData.location.distanceToCentre / 1000
),
}
)} )}
</Caption> </Caption>
</div> </div>

View File

@@ -11,6 +11,7 @@ import Body from "@/components/TempDesignSystem/Text/Body"
import Caption from "@/components/TempDesignSystem/Text/Caption" import Caption from "@/components/TempDesignSystem/Text/Caption"
import Title from "@/components/TempDesignSystem/Text/Title" import Title from "@/components/TempDesignSystem/Text/Title"
import { getIntl } from "@/i18n" import { getIntl } from "@/i18n"
import getSingleDecimal from "@/utils/numberFormatting"
import ReadMore from "../../ReadMore" import ReadMore from "../../ReadMore"
import TripAdvisorChip from "../../TripAdvisorChip" import TripAdvisorChip from "../../TripAdvisorChip"
@@ -69,7 +70,7 @@ export default async function HotelInfoCard({
</Title> </Title>
<div className={styles.hotelAddressDescription}> <div className={styles.hotelAddressDescription}>
<Caption color="uiTextMediumContrast"> <Caption color="uiTextMediumContrast">
{`${hotelAttributes.address.streetAddress}, ${hotelAttributes.address.city}${hotelAttributes.location.distanceToCentre / 1000} ${intl.formatMessage({ id: "km to city center" })}`} {`${hotelAttributes.address.streetAddress}, ${hotelAttributes.address.city}${getSingleDecimal(hotelAttributes.location.distanceToCentre / 1000)} ${intl.formatMessage({ id: "km to city center" })}`}
</Caption> </Caption>
<Body color="uiTextHighContrast"> <Body color="uiTextHighContrast">
{hotelAttributes.hotelContent.texts.descriptions.medium} {hotelAttributes.hotelContent.texts.descriptions.medium}

View File

@@ -0,0 +1,8 @@
/**
* Function to parse number with single decimal if any
* @param n
* @returns number in float type with single digit decimal if any
*/
export default function getSingleDecimal(n: Number | string) {
return parseFloat(Number(n).toFixed(1))
}