summaryrefslogtreecommitdiffstats
path: root/src/components/MetaItems/CommentsCount/CommentsCount.tsx
blob: bd1990d2455343ce1c67c658349a54d6142bd0a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { MetaKind } from '@ts/types/app';
import { useRouter } from 'next/router';
import { useIntl } from 'react-intl';
import { MetaItem } from '..';

const CommentsCount = ({ total, kind }: { total: number; kind: MetaKind }) => {
  const intl = useIntl();
  const { asPath } = useRouter();

  const isArticle = () => asPath.includes('/article/');

  const getCommentsCount = () => {
    return intl.formatMessage(
      {
        defaultMessage:
          '{total, plural, =0 {No comments} one {# comment} other {# comments}}',
        description: 'CommentsCount: comment count value',
      },
      { total }
    );
  };

  return (
    <MetaItem
      title={intl.formatMessage({
        defaultMessage: 'Comments:',
        description: 'CommentsCount: comment count meta label',
      })}
      value={
        isArticle() ? (
          <a href="#comments">{getCommentsCount()}</a>
        ) : (
          getCommentsCount()
        )
      }
      kind={kind}
    />
  );
};

export default CommentsCount;