fix: update date format and add missing default

This commit is contained in:
Mythie
2023-12-27 14:04:22 +11:00
parent eb84d7ff3c
commit d8eff192fe
2 changed files with 14 additions and 6 deletions

View File

@ -49,7 +49,7 @@ export const DateField = ({
const localDateString = convertToLocalSystemFormat(field.customText, dateFormat, timezone); const localDateString = convertToLocalSystemFormat(field.customText, dateFormat, timezone);
const isDifferentTimeZone = field.inserted && localDateString !== field.customText; const isDifferentTime = field.inserted && localDateString !== field.customText;
const tooltipText = `"${field.customText}" will appear on the document as it has a timezone of "${timezone}".`; const tooltipText = `"${field.customText}" will appear on the document as it has a timezone of "${timezone}".`;
@ -98,7 +98,7 @@ export const DateField = ({
onSign={onSign} onSign={onSign}
onRemove={onRemove} onRemove={onRemove}
type="Date" type="Date"
tooltipText={isDifferentTimeZone ? tooltipText : undefined} tooltipText={isDifferentTime ? tooltipText : undefined}
> >
{isLoading && ( {isLoading && (
<div className="bg-background absolute inset-0 flex items-center justify-center rounded-md"> <div className="bg-background absolute inset-0 flex items-center justify-center rounded-md">

View File

@ -5,10 +5,15 @@ import { DEFAULT_DOCUMENT_TIME_ZONE } from './time-zones';
export const DEFAULT_DOCUMENT_DATE_FORMAT = 'yyyy-MM-dd hh:mm a'; export const DEFAULT_DOCUMENT_DATE_FORMAT = 'yyyy-MM-dd hh:mm a';
export const DATE_FORMATS = [ export const DATE_FORMATS = [
{
key: 'yyyy-MM-dd_hh:mm_a',
label: 'YYYY-MM-DD HH:mm a',
value: DEFAULT_DOCUMENT_DATE_FORMAT,
},
{ {
key: 'YYYYMMDD', key: 'YYYYMMDD',
label: 'YYYY-MM-DD', label: 'YYYY-MM-DD',
value: DEFAULT_DOCUMENT_DATE_FORMAT, value: 'YYYY-MM-DD',
}, },
{ {
key: 'DDMMYYYY', key: 'DDMMYYYY',
@ -57,15 +62,18 @@ export const convertToLocalSystemFormat = (
dateFormat: string | null = DEFAULT_DOCUMENT_DATE_FORMAT, dateFormat: string | null = DEFAULT_DOCUMENT_DATE_FORMAT,
timeZone: string | null = DEFAULT_DOCUMENT_TIME_ZONE, timeZone: string | null = DEFAULT_DOCUMENT_TIME_ZONE,
): string => { ): string => {
const parsedDate = DateTime.fromFormat(customText, dateFormat ?? DEFAULT_DOCUMENT_DATE_FORMAT, { const coalescedDateFormat = dateFormat ?? DEFAULT_DOCUMENT_DATE_FORMAT;
zone: timeZone ?? DEFAULT_DOCUMENT_TIME_ZONE, const coalescedTimeZone = timeZone ?? DEFAULT_DOCUMENT_TIME_ZONE;
const parsedDate = DateTime.fromFormat(customText, coalescedDateFormat, {
zone: coalescedTimeZone,
}); });
if (!parsedDate.isValid) { if (!parsedDate.isValid) {
return 'Invalid date'; return 'Invalid date';
} }
const formattedDate = parsedDate.toLocal().toFormat(dateFormat ?? DEFAULT_DOCUMENT_DATE_FORMAT); const formattedDate = parsedDate.toLocal().toFormat(coalescedDateFormat);
return formattedDate; return formattedDate;
}; };