diff --git a/src/components/BaseQuestionnaireResponseForm/widgets/date.tsx b/src/components/BaseQuestionnaireResponseForm/widgets/date.tsx
index 564cb5a5..df8fcde8 100644
--- a/src/components/BaseQuestionnaireResponseForm/widgets/date.tsx
+++ b/src/components/BaseQuestionnaireResponseForm/widgets/date.tsx
@@ -1,20 +1,15 @@
import { Form } from 'antd';
import moment, { type Moment } from 'moment';
-import { useCallback, useContext, useMemo } from 'react';
+import { useCallback, useMemo } from 'react';
import { QuestionItemProps } from 'sdc-qrf';
-import {
- FHIRTimeFormat,
- formatFHIRDate,
- formatFHIRDateTime,
- formatFHIRTime,
-} from '@beda.software/fhir-react';
+import { FHIRTimeFormat, formatFHIRDate, formatFHIRDateTime, formatFHIRTime } from '@beda.software/fhir-react';
import { DatePicker } from 'src/components/DatePicker';
import { TimePicker } from 'src/components/TimePicker';
import { useFieldController } from '../hooks';
-import { DateTimeFormatContext } from 'src/contexts/date-time-format';
+import { humanDate, humanDateTime, humanTime } from 'src/utils/date';
export function QuestionDateTime({ parentPath, questionItem }: QuestionItemProps) {
const { linkId, type, regex } = questionItem;
@@ -45,7 +40,6 @@ interface DateTimePickerWrapperProps {
}
function DateTimePickerWrapper(props: DateTimePickerWrapperProps) {
- const { humanDate, humanTime, humanDateTime } = useContext(DateTimeFormatContext);
const { value, onChange, type, disabled, placeholder, format } = props;
const newValue = useMemo(() => {
diff --git a/src/contexts/date-time-format.ts b/src/contexts/date-time-format.ts
deleted file mode 100644
index c5cfcafd..00000000
--- a/src/contexts/date-time-format.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { createContext } from 'react';
-
-import { humanDate, humanDateTime, humanDateYearMonth, humanTime } from 'src/utils/date';
-
-export const defaultDateTimeFormats = { humanDate, humanDateYearMonth, humanTime, humanDateTime };
-
-export const DateTimeFormatContext = createContext(defaultDateTimeFormats);
diff --git a/src/main.tsx b/src/main.tsx
index 5672a944..1ef4eb2a 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -17,7 +17,6 @@ import { ValueSetExpandProvider } from './contexts';
import { expandEMRValueSet } from './services';
import * as serviceWorker from './serviceWorker';
import { ThemeProvider } from './theme/ThemeProvider';
-import { DateTimeFormatContext, defaultDateTimeFormats } from './contexts/date-time-format';
const AppWithContext = () => {
useEffect(() => {
@@ -26,15 +25,13 @@ const AppWithContext = () => {
return (
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
);
};
diff --git a/src/utils/date.ts b/src/utils/date.ts
index 469a5915..4b80075b 100644
--- a/src/utils/date.ts
+++ b/src/utils/date.ts
@@ -3,10 +3,32 @@ import _ from 'lodash';
import { parseFHIRDate, parseFHIRDateTime } from '@beda.software/fhir-react';
-export const humanDate = 'DD MMM YYYY';
-export const humanDateYearMonth = 'MMM YYYY';
-export const humanTime = 'HH:mm';
-export const humanDateTime = 'DD MMM YYYY HH:mm';
+export let humanDate = 'DD MMM YYYY';
+export let humanDateYearMonth = 'MMM YYYY';
+export let humanTime = 'HH:mm';
+export let humanDateTime = 'DD MMM YYYY HH:mm';
+
+export type DateTimeFormat = {
+ humanDate: string;
+ humanDateYearMonth: string;
+ humanTime: string;
+ humanDateTime: string;
+};
+
+export const setDateTimeFormats = (formats: Partial) => {
+ if (formats.humanDate) {
+ humanDate = formats.humanDate;
+ }
+ if (formats.humanDateYearMonth) {
+ humanDateYearMonth = formats.humanDateYearMonth;
+ }
+ if (formats.humanTime) {
+ humanTime = formats.humanTime;
+ }
+ if (formats.humanDateTime) {
+ humanDateTime = formats.humanDateTime;
+ }
+};
export const formatHumanDateTime = (date?: string) => {
if (!date) {