summaryrefslogtreecommitdiffstatshomepage
path: root/webui/src/components/Moment.tsx
blob: 4bffbd318155d5495656b79c19551a37be517f01 (plain) (blame)
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
import moment from 'moment';

type Props = {
  date: moment.MomentInput;
  format: string;
  fromNowDuring?: number;
};

const Moment = ({ date, format, fromNowDuring }: Props) => {
  let dateString: string | undefined;
  const dateMoment = moment(date);

  if (fromNowDuring) {
    const diff = moment().diff(dateMoment, 'ms');
    if (diff < fromNowDuring) {
      dateString = dateMoment.fromNow();
    }
  }

  // we either are out of range or didn't get asked for fromNow
  if (dateString === undefined) {
    dateString = dateMoment.format(format);
  }

  return <span>{dateString}</span>;
};

export default Moment;