mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 15:35:49 +01:00
added title with the exact date to DateFromNow
This commit is contained in:
@@ -2,31 +2,40 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { translate } from "react-i18next";
|
import { translate } from "react-i18next";
|
||||||
|
import injectSheet from "react-jss";
|
||||||
|
|
||||||
|
const styles = {
|
||||||
|
date: {
|
||||||
|
borderBottom: "1px dotted rgba(219, 219, 219)",
|
||||||
|
cursor: "help"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
date?: string,
|
date?: string,
|
||||||
|
|
||||||
// context props
|
// context props
|
||||||
|
classes: any,
|
||||||
i18n: any
|
i18n: any
|
||||||
};
|
};
|
||||||
|
|
||||||
class DateFromNow extends React.Component<Props> {
|
class DateFromNow extends React.Component<Props> {
|
||||||
static format(locale: string, date?: string) {
|
|
||||||
let fromNow = "";
|
|
||||||
if (date) {
|
|
||||||
fromNow = moment(date)
|
|
||||||
.locale(locale)
|
|
||||||
.fromNow();
|
|
||||||
}
|
|
||||||
return fromNow;
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { i18n, date } = this.props;
|
const { i18n, date, classes } = this.props;
|
||||||
|
|
||||||
const fromNow = DateFromNow.format(i18n.language, date);
|
if (date) {
|
||||||
return <span>{fromNow}</span>;
|
const dateWithLocale = moment(date).locale(i18n.language);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<time title={dateWithLocale.format()} className={classes.date}>
|
||||||
|
{dateWithLocale.fromNow()}
|
||||||
|
</time>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default translate()(DateFromNow);
|
export default injectSheet(styles)(translate()(DateFromNow));
|
||||||
|
|||||||
Reference in New Issue
Block a user