import React from "react"; import { FormattedDate as IntlDate } from "react-intl"; import { PatchComponent } from "src/patch"; // wraps FormattedDate to handle year or year/month dates export const FormattedDate: React.FC<{ value: string | number | Date | undefined; }> = PatchComponent("Date", ({ value }) => { if (typeof value === "string") { // try parsing as year or year/month const yearMatch = value.match(/^(\d{4})$/); if (yearMatch) { const year = parseInt(yearMatch[1], 10); return ( ); } const yearMonthMatch = value.match(/^(\d{4})-(\d{2})$/); if (yearMonthMatch) { const year = parseInt(yearMonthMatch[1], 10); const month = parseInt(yearMonthMatch[2], 10) - 1; return ( ); } } return ; });