From b5cd6c412b5b6b6ca7bb43c3801762de451f06b4 Mon Sep 17 00:00:00 2001 From: Amruth Pillai Date: Sat, 12 Mar 2022 12:49:11 +0100 Subject: [PATCH] fix(client): show "present" string if end date is not entered, also add to i18n locales fix #653 --- client/public/locales/en/common.json | 3 +++ client/utils/date.ts | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/client/public/locales/en/common.json b/client/public/locales/en/common.json index ce92c58f2..033862e27 100644 --- a/client/public/locales/en/common.json +++ b/client/public/locales/en/common.json @@ -15,6 +15,9 @@ "markdown": { "help-text": "This section supports <1>markdown formatting." }, + "date": { + "present": "Present" + }, "subtitle": "A free and open source resume builder.", "title": "Reactive Resume", "toast": { diff --git a/client/utils/date.ts b/client/utils/date.ts index eb670beaf..240b3ae2e 100644 --- a/client/utils/date.ts +++ b/client/utils/date.ts @@ -2,6 +2,7 @@ import { DateRange } from '@reactive-resume/schema'; import dayjs from 'dayjs'; import isEmpty from 'lodash/isEmpty'; import isString from 'lodash/isString'; +import { i18n } from 'next-i18next'; export const dateFormatOptions: string[] = [ 'MMMM DD, YYYY', @@ -21,6 +22,8 @@ export const dateFormatOptions: string[] = [ export const getRelativeTime = (timestamp: dayjs.ConfigType): string => dayjs(timestamp).toNow(true); export const formatDateString = (date: string | DateRange, formatStr: string): string | null => { + const presentString = i18n?.t('common.date.present') ?? ''; + if (isEmpty(date)) return null; // If `date` is a string @@ -39,5 +42,5 @@ export const formatDateString = (date: string | DateRange, formatStr: string): s return `${dayjs(date.start).format(formatStr)} - ${dayjs(date.end).format(formatStr)}`; } - return dayjs(date.start).format(formatStr); + return `${dayjs(date.start).format(formatStr)} - ${presentString}`; };