// @deprecated, use DateValue component
import * as React from 'react';
import { FormatDateOptions, FormattedMessage, useIntl } from 'react-intl';
import { isToday, isYesterday } from '../../../utils/datetime';
import messages from '../messages';
import './DateField.scss';
const DEFAULT_DATE_FORMAT = {
weekday: 'short',
month: 'short',
year: 'numeric',
day: 'numeric',
} as const;
export interface DateFieldProps {
capitalize?: boolean;
date: string;
dateFormat?: FormatDateOptions;
omitCommas?: boolean;
relative?: boolean;
}
// This component has internationalization concerns, e.g. comma removal, capitalization
const DateField = ({
date,
dateFormat = DEFAULT_DATE_FORMAT,
omitCommas = false,
relative = true,
capitalize = false,
}: DateFieldProps): React.ReactNode | string => {
const { formatDate } = useIntl();
const d = new Date(date);
const isTodaysDate = isToday(d);
const isYesterdaysDate = isYesterday(d);
if (relative && (isTodaysDate || isYesterdaysDate)) {
let Message = ;
if (isYesterdaysDate) {
Message = ;
}
if (capitalize) {
return {Message};
}
return Message;
}
let formattedDate = formatDate(d, dateFormat);
formattedDate = omitCommas ? formattedDate.replace(/,/g, '') : formattedDate;
return formattedDate;
};
export default DateField;