From 698205cb590d323831a63b6537e52f7dbe549fc6 Mon Sep 17 00:00:00 2001 From: Nar Cuenca Date: Wed, 21 Feb 2024 10:41:38 +0800 Subject: [PATCH] task: added helper function to pluralize words --- .../InviteMembersModal/ConfirmationDialog.tsx | 19 +++++++++++++++---- src/utility/pluralizeWord.ts | 3 +++ 2 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 src/utility/pluralizeWord.ts diff --git a/src/shell/components/InviteMembersModal/ConfirmationDialog.tsx b/src/shell/components/InviteMembersModal/ConfirmationDialog.tsx index 166581b397..18feea5fa7 100644 --- a/src/shell/components/InviteMembersModal/ConfirmationDialog.tsx +++ b/src/shell/components/InviteMembersModal/ConfirmationDialog.tsx @@ -18,6 +18,7 @@ import ErrorRoundedIcon from "@mui/icons-material/ErrorRounded"; import CheckRoundedIcon from "@mui/icons-material/CheckRounded"; import CheckCircleRoundedIcon from "@mui/icons-material/CheckCircleRounded"; import CheckCircleIcon from "@mui/icons-material/CheckCircle"; +import pluralizeWord from "../../../utility/pluralizeWord"; type ConfirmationModalProps = { sentEmails: string[]; @@ -40,15 +41,23 @@ export const ConfirmationModal = ({ if (hasFailedInvites && hasSuccessfulInvites) { return `Invites set to ${Object.keys(failedInvites).length} out of ${ Object.keys(failedInvites).length + sentEmails.length - } users (via email)`; + } ${pluralizeWord( + "user", + Object.keys(failedInvites).length + sentEmails.length + )} (via email)`; } if (hasFailedInvites && !hasSuccessfulInvites) { - return `Unable to invite ${Object.keys(failedInvites).length} users`; + return `Unable to invite ${ + Object.keys(failedInvites).length + } ${pluralizeWord("user", Object.keys(failedInvites).length)}`; } if (!hasFailedInvites && hasSuccessfulInvites) { - return `Invite sent to ${sentEmails.length} users (via email)`; + return `Invite sent to ${pluralizeWord( + "user", + sentEmails.length + )} (via email)`; } }; @@ -65,7 +74,9 @@ export const ConfirmationModal = ({ display: "block", }} /> - {generateHeaderText()} + + {generateHeaderText()} + See list below diff --git a/src/utility/pluralizeWord.ts b/src/utility/pluralizeWord.ts new file mode 100644 index 0000000000..77f672bbe0 --- /dev/null +++ b/src/utility/pluralizeWord.ts @@ -0,0 +1,3 @@ +export default (word: string, count: number) => { + return count > 1 ? `${word}s` : word; +};