diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-03-01 22:08:56 +0100 | 
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-03-01 22:08:56 +0100 | 
| commit | 80d54805e26a6a6971c5ad214b02456dcc226628 (patch) | |
| tree | 9b81e0cd3ff881b2cbeb81f9f96b52b510d67646 /src/components/MetaItems/Dates/Dates.tsx | |
| parent | 99ae0a9d3a923ca1e998dc9b504dad607fdfd768 (diff) | |
| parent | 8bd9784acdee6871ad70e86d0d7120299bf76969 (diff) | |
refactor: various refactoring
Improve maintenance (meta splitting) and try to
improve performance (dynamic imports).
Diffstat (limited to 'src/components/MetaItems/Dates/Dates.tsx')
| -rw-r--r-- | src/components/MetaItems/Dates/Dates.tsx | 56 | 
1 files changed, 56 insertions, 0 deletions
| diff --git a/src/components/MetaItems/Dates/Dates.tsx b/src/components/MetaItems/Dates/Dates.tsx new file mode 100644 index 0000000..04dff3a --- /dev/null +++ b/src/components/MetaItems/Dates/Dates.tsx @@ -0,0 +1,56 @@ +import { MetaKind } from '@ts/types/app'; +import { settings } from '@utils/config'; +import { getFormattedDate } from '@utils/helpers/format'; +import { useRouter } from 'next/router'; +import { useIntl } from 'react-intl'; +import { MetaItem } from '..'; + +const Dates = ({ +  publication, +  update, +  kind, +}: { +  publication: string; +  update: string; +  kind: MetaKind; +}) => { +  const intl = useIntl(); +  const { locale } = useRouter(); +  const validLocale = locale ? locale : settings.locales.defaultLocale; + +  const publicationDate = getFormattedDate(publication, validLocale); +  const updateDate = getFormattedDate(update, validLocale); + +  return ( +    <> +      <MetaItem +        title={intl.formatMessage({ +          defaultMessage: 'Published on:', +          description: 'Dates: publication date meta label', +        })} +        values={[ +          <time key={publication} dateTime={publication}> +            {publicationDate} +          </time>, +        ]} +        kind={kind} +      /> +      {publicationDate !== updateDate && ( +        <MetaItem +          title={intl.formatMessage({ +            defaultMessage: 'Updated on:', +            description: 'Dates: update date meta label', +          })} +          values={[ +            <time key={update} dateTime={update}> +              {updateDate} +            </time>, +          ]} +          kind={kind} +        /> +      )} +    </> +  ); +}; + +export default Dates; | 
