From c83ea33b857527647b5266504ddb6a7c1c486c70 Mon Sep 17 00:00:00 2001 From: KrugarValdes Date: Fri, 1 Aug 2025 13:56:04 +0600 Subject: [PATCH] feat: Implement locale-based format for TimePicker --- .../office/tablet/core/ui/utils/DateDisplayMapper.kt | 4 ++++ .../presentation/datetimepicker/components/TimePickerView.kt | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/clients/tablet/core/ui/src/commonMain/kotlin/band/effective/office/tablet/core/ui/utils/DateDisplayMapper.kt b/clients/tablet/core/ui/src/commonMain/kotlin/band/effective/office/tablet/core/ui/utils/DateDisplayMapper.kt index 6d4f577e..0486415a 100644 --- a/clients/tablet/core/ui/src/commonMain/kotlin/band/effective/office/tablet/core/ui/utils/DateDisplayMapper.kt +++ b/clients/tablet/core/ui/src/commonMain/kotlin/band/effective/office/tablet/core/ui/utils/DateDisplayMapper.kt @@ -59,4 +59,8 @@ object DateDisplayMapper { val patterns = getPatternsForLocale() return time.toLocalisedString(patterns.time) } + + fun is24HourFormat(): Boolean { + return getCurrentLanguageCode() != "en" + } } \ No newline at end of file diff --git a/clients/tablet/feature/bookingEditor/src/commonMain/kotlin/band/effective/office/tablet/feature/bookingEditor/presentation/datetimepicker/components/TimePickerView.kt b/clients/tablet/feature/bookingEditor/src/commonMain/kotlin/band/effective/office/tablet/feature/bookingEditor/presentation/datetimepicker/components/TimePickerView.kt index 3f5bdca4..b13bc363 100644 --- a/clients/tablet/feature/bookingEditor/src/commonMain/kotlin/band/effective/office/tablet/feature/bookingEditor/presentation/datetimepicker/components/TimePickerView.kt +++ b/clients/tablet/feature/bookingEditor/src/commonMain/kotlin/band/effective/office/tablet/feature/bookingEditor/presentation/datetimepicker/components/TimePickerView.kt @@ -7,6 +7,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Modifier import band.effective.office.tablet.core.ui.theme.LocalCustomColorsPalette +import band.effective.office.tablet.core.ui.utils.DateDisplayMapper import com.mohamedrejeb.calf.ui.timepicker.AdaptiveTimePicker import com.mohamedrejeb.calf.ui.timepicker.rememberAdaptiveTimePickerState import kotlinx.datetime.LocalDateTime @@ -19,10 +20,12 @@ fun TimePickerView( currentDate: LocalDateTime, onSnap: (LocalTime) -> Unit ) { + val is24Hour = DateDisplayMapper.is24HourFormat() + val state = rememberAdaptiveTimePickerState( initialHour = currentDate.hour, initialMinute = currentDate.minute, - is24Hour = true + is24Hour = is24Hour ) LaunchedEffect(state.hour, state.minute) { val hour = state.hour -- GitLab