30 lines
679 B
TypeScript
30 lines
679 B
TypeScript
|
import { ReactNode } from "react";
|
||
|
|
||
|
import Badge from "@components/ui/Badge";
|
||
|
|
||
|
function pluralize(opts: { num: number; plural: string; singular: string }) {
|
||
|
if (opts.num === 0) {
|
||
|
return opts.singular;
|
||
|
}
|
||
|
return opts.singular;
|
||
|
}
|
||
|
|
||
|
export default function SubHeadingTitleWithConnections(props: { title: ReactNode; numConnections?: number }) {
|
||
|
const num = props.numConnections;
|
||
|
return (
|
||
|
<>
|
||
|
<span>{props.title}</span>
|
||
|
{num ? (
|
||
|
<Badge variant="success">
|
||
|
{num}{" "}
|
||
|
{pluralize({
|
||
|
num,
|
||
|
singular: "connection",
|
||
|
plural: "connections",
|
||
|
})}
|
||
|
</Badge>
|
||
|
) : null}
|
||
|
</>
|
||
|
);
|
||
|
}
|