]> Untitled Git - lemmy.git/blob - ui/src/components/moment-time.tsx
Merge branch 'dev'
[lemmy.git] / ui / src / components / moment-time.tsx
1 import { Component } from 'inferno';
2 import * as moment from 'moment';
3 import 'moment/locale/es';
4 import 'moment/locale/de';
5 import 'moment/locale/zh-cn';
6 import 'moment/locale/fr';
7 import 'moment/locale/sv';
8 import 'moment/locale/ru';
9 import { getMomentLanguage } from '../utils';
10 import { i18n } from '../i18next';
11
12 interface MomentTimeProps {
13   data: {
14     published?: string;
15     when_?: string;
16     updated?: string;
17   }
18 }
19
20 export class MomentTime extends Component<MomentTimeProps, any> {
21
22   constructor(props: any, context: any) {
23     super(props, context);
24
25     let lang = getMomentLanguage();
26
27     moment.locale(lang);
28   }
29
30   render() {
31     if (this.props.data.updated) {
32       return (
33         <span title={this.props.data.updated} className="font-italics">{i18n.t('modified')} {moment.utc(this.props.data.updated).fromNow()}</span>
34       )
35     } else {
36       let str = this.props.data.published || this.props.data.when_;
37       return (
38         <span title={str}>{moment.utc(str).fromNow()}</span>
39       )
40     }
41   }
42 }