From 28c0b146d49ff723fb40de8c7b784b8d876b4cbd Mon Sep 17 00:00:00 2001 From: Angela Li <156842217+angelali314159@users.noreply.github.com> Date: Wed, 9 Oct 2024 11:05:40 -0400 Subject: [PATCH] Enhance date and time format settings to reflect system preferences (#7274) Closes https://github.com/twentyhq/twenty/issues/6880 --------- Co-authored-by: Lucas Bordeau --- .../localization/utils/detectTimeFormat.ts | 6 +++++- .../DateTimeSettingsDateFormatSelect.tsx | 20 ++++++++++++++----- .../DateTimeSettingsTimeFormatSelect.tsx | 18 +++++++++++++---- .../DateTimeSettingsTimeZoneSelect.tsx | 15 ++++++++------ 4 files changed, 43 insertions(+), 16 deletions(-) diff --git a/packages/twenty-front/src/modules/localization/utils/detectTimeFormat.ts b/packages/twenty-front/src/modules/localization/utils/detectTimeFormat.ts index 0580333afb90..01bad17167a5 100644 --- a/packages/twenty-front/src/modules/localization/utils/detectTimeFormat.ts +++ b/packages/twenty-front/src/modules/localization/utils/detectTimeFormat.ts @@ -5,6 +5,10 @@ export const detectTimeFormat = () => { const isHour12 = Intl.DateTimeFormat(navigator.language, { hour: 'numeric', }).resolvedOptions().hour12; - if (isDefined(isHour12) && isHour12) return TimeFormat.HOUR_12; + + if (isDefined(isHour12) && isHour12) { + return TimeFormat.HOUR_12; + } + return TimeFormat.HOUR_24; }; diff --git a/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettingsDateFormatSelect.tsx b/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettingsDateFormatSelect.tsx index c17f7a8e712c..dcadd5ba9460 100644 --- a/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettingsDateFormatSelect.tsx +++ b/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettingsDateFormatSelect.tsx @@ -1,6 +1,7 @@ import { formatInTimeZone } from 'date-fns-tz'; import { DateFormat } from '@/localization/constants/DateFormat'; +import { detectDateFormat } from '@/localization/utils/detectDateFormat'; import { detectTimeZone } from '@/localization/utils/detectTimeZone'; import { Select } from '@/ui/input/components/Select'; @@ -15,7 +16,12 @@ export const DateTimeSettingsDateFormatSelect = ({ timeZone, value, }: DateTimeSettingsDateFormatSelectProps) => { - const setTimeZone = timeZone === 'system' ? detectTimeZone() : timeZone; + const systemTimeZone = detectTimeZone(); + + const usedTimeZone = timeZone === 'system' ? systemTimeZone : timeZone; + + const systemDateFormat = detectDateFormat(); + return ( { + const systemTimeZone = detectTimeZone(); + + const systemTimeZoneOption = findAvailableTimeZoneOption(systemTimeZone); + return (