All files / libs/lti/components/src/lib/documents/badges DocumentSignedBadge.tsx

0% Statements 0/41
0% Branches 0/1
0% Functions 0/1
0% Lines 0/41

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 42                                                                                   
import { css } from '@emotion/react';
import { IconCheck } from '@tabler/icons-react';
import { memo } from 'react';
import { FormattedMessage } from 'react-intl';

import { Group, Typography } from '@allshares/studio-design-system';
import { ColorCategory } from '@allshares/studio-design-system/meta';
import { dayjs } from '@amalia/ext/dayjs';

export type DocumentSignedBadgeProps = {
  readonly signedAt: Date;
};

export const DocumentSignedBadge = memo(function DocumentSignedBadge({ signedAt }: DocumentSignedBadgeProps) {
  return (
    <Group
      align="center"
      gap={8}
    >
      <IconCheck
        size={14}
        css={(theme) => css`
          color: ${theme.ds.hues.green[500]};
        `}
      />

      <Typography
        variant="bodyXsmallRegular"
        css={(theme) => css`
          color: ${theme.ds.colors[ColorCategory.GRAY][700]};
          font-style: italic;
        `}
      >
        <FormattedMessage
          defaultMessage="Signed on {date}"
          values={{ date: dayjs(signedAt).format('YYYY-MM-DD') }}
        />
      </Typography>
    </Group>
  );
});