Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 12a7c71

Browse files
committed
Fixed: toastr messages for single resources were in plural form.
1 parent 6bfea50 commit 12a7c71

File tree

5 files changed

+23
-5
lines changed

5 files changed

+23
-5
lines changed

src/routes/WorkPeriods/components/ToastPaymentsError/index.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from "react";
22
import PT from "prop-types";
33
import ToastMessage from "components/ToastrMessage";
4+
import { formatPlural } from "utils/formatters";
45

56
/**
67
* Displays a toastr message with info about the number of resources payments
@@ -12,7 +13,7 @@ import ToastMessage from "components/ToastrMessage";
1213
const ToastPaymentsError = ({ resourceCount, remove }) => {
1314
return (
1415
<ToastMessage type="error" remove={remove}>
15-
Failed to schedule payments for {resourceCount} resources
16+
Failed to schedule payment for {formatPlural(resourceCount, "resource")}
1617
</ToastMessage>
1718
);
1819
};

src/routes/WorkPeriods/components/ToastPaymentsProcessing/index.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from "react";
22
import PT from "prop-types";
33
import ToastMessage from "components/ToastrMessage";
4+
import { formatPlural } from "utils/formatters";
45
import styles from "./styles.module.scss";
56

67
/**
@@ -14,7 +15,7 @@ const ToastPaymentsProcessing = ({ resourceCount, remove }) => {
1415
return (
1516
<ToastMessage className={styles.container} remove={remove}>
1617
<span className={styles.icon}></span>
17-
Payment in progress for {resourceCount} resources
18+
Payment in progress for {formatPlural(resourceCount, "resource")}
1819
</ToastMessage>
1920
);
2021
};

src/routes/WorkPeriods/components/ToastPaymentsSuccess/index.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from "react";
22
import PT from "prop-types";
33
import ToastMessage from "components/ToastrMessage";
4+
import { formatPlural } from "utils/formatters";
45

56
/**
67
* Displays a toastr message with info about the number of resources payments
@@ -12,7 +13,7 @@ import ToastMessage from "components/ToastrMessage";
1213
const ToastPaymentsSuccess = ({ resourceCount, remove }) => {
1314
return (
1415
<ToastMessage type="success" remove={remove}>
15-
Payment scheduled for {resourceCount} resources
16+
Payment scheduled for {formatPlural(resourceCount, "resource")}
1617
</ToastMessage>
1718
);
1819
};

src/routes/WorkPeriods/components/ToastPaymentsWarning/index.jsx

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from "react";
22
import PT from "prop-types";
33
import ToastMessage from "components/ToastrMessage";
4+
import { formatPlural } from "utils/formatters";
45
import styles from "./styles.module.scss";
56

67
/**
@@ -28,12 +29,14 @@ const ToastPaymentsWarning = ({
2829
<ToastMessage type="warning" remove={remove}>
2930
<div className={styles.sectionSucceeded}>
3031
<div className={styles.sectionTitle}>
31-
Payment scheduled for {resourcesSucceededCount} resources
32+
Payment scheduled for{" "}
33+
{formatPlural(resourcesSucceededCount, "resource")}
3234
</div>
3335
</div>
3436
<div className={styles.sectionFailed}>
3537
<div className={styles.sectionTitle}>
36-
Failed to schedule payment for {resourcesFailedCount} resources
38+
Failed to schedule payment for{" "}
39+
{formatPlural(resourcesFailedCount, "resource")}
3740
{resourcesFailed && resourcesFailed.length ? ":" : ""}
3841
</div>
3942
{resourcesFailed && resourcesFailed.length && (

src/utils/formatters.js

+12
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,18 @@ export function formatPaymentStatus(status) {
7171
return paymentStatus;
7272
}
7373

74+
/**
75+
* Creates the string with the number of items and the word describing the item
76+
* possibly in plural form.
77+
*
78+
* @param {number} count number of items
79+
* @param {string} baseWord word describing the item
80+
* @returns {string}
81+
*/
82+
export function formatPlural(count, baseWord) {
83+
return `${count} ${baseWord}${count > 1 ? "s" : ""}`;
84+
}
85+
7486
/**
7587
* Formats user handle link.
7688
*

0 commit comments

Comments
 (0)