[mob] Pass correct locale for datepicker

This commit is contained in:
Neeraj Gupta
2024-06-18 15:41:14 +05:30
parent 38ee01017a
commit 23f6da17c4
2 changed files with 1733 additions and 2 deletions

1700
mobile/lib/generated/intl/messages_ru.dart generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,6 +2,7 @@ import "package:flutter/material.dart";
import "package:flutter_datetime_picker_bdaya/flutter_datetime_picker_bdaya.dart";
import "package:intl/intl.dart";
import "package:photos/ente_theme_data.dart";
import "package:photos/l10n/l10n.dart";
import 'package:photos/models/file/file.dart';
import "package:photos/theme/ente_theme.dart";
import "package:photos/ui/components/info_item_widget.dart";
@@ -46,22 +47,25 @@ class _CreationTimeItemState extends State<CreationTimeItem> {
}
void _showDateTimePicker(EnteFile file) async {
final Locale locale = await getLocale();
final localeType = getFromLocalString(locale);
final dateResult = await DatePickerBdaya.showDatePicker(
context,
minTime: DateTime(1800, 1, 1),
maxTime: DateTime.now(),
currentTime: DateTime.fromMicrosecondsSinceEpoch(file.creationTime!),
locale: LocaleType.en,
locale: localeType,
theme: Theme.of(context).colorScheme.dateTimePickertheme,
);
if (dateResult == null) {
return;
}
final dateWithTimeResult = await DatePickerBdaya.showTime12hPicker(
context,
showTitleActions: true,
currentTime: dateResult,
locale: LocaleType.en,
locale: localeType,
theme: Theme.of(context).colorScheme.dateTimePickertheme,
);
if (dateWithTimeResult != null) {
@@ -75,4 +79,31 @@ class _CreationTimeItemState extends State<CreationTimeItem> {
}
}
}
LocaleType getFromLocalString(Locale locale) {
switch (locale.languageCode) {
case "en":
return LocaleType.en;
case "es":
return LocaleType.es;
case "de":
return LocaleType.de;
case "fr":
return LocaleType.fr;
case "it":
return LocaleType.it;
case "nl":
return LocaleType.nl;
case "pt":
return LocaleType.pt;
case "ru":
return LocaleType.ru;
case "tr":
return LocaleType.tr;
case "zh":
return LocaleType.zh;
default:
return LocaleType.en;
}
}
}