diff --git a/lib/src/screens/dashboard/dashboard_page.dart b/lib/src/screens/dashboard/dashboard_page.dart index d5037187e..7b29685f7 100644 --- a/lib/src/screens/dashboard/dashboard_page.dart +++ b/lib/src/screens/dashboard/dashboard_page.dart @@ -125,7 +125,9 @@ class DashboardPageBodyState extends State { final actionListStore = Provider.of(context); final syncStore = Provider.of(context); final settingsStore = Provider.of(context); - final transactionDateFormat = DateFormat("MMMM d, yyyy HH:mm", settingsStore.languageCode); + final transactionDateFormat = settingsStore.currentLocale == 'en_US' + ? DateFormat("MMMM d, yyyy, HH:mm", settingsStore.languageCode) + : DateFormat("d MMMM yyyy, HH:mm", settingsStore.languageCode); return Observer( key: _listObserverKey, diff --git a/lib/src/screens/dashboard/date_section_raw.dart b/lib/src/screens/dashboard/date_section_raw.dart index fb41f674f..f735278ba 100644 --- a/lib/src/screens/dashboard/date_section_raw.dart +++ b/lib/src/screens/dashboard/date_section_raw.dart @@ -19,7 +19,9 @@ class DateSectionRaw extends StatelessWidget { nowDate.year == date.year; final settingsStore = Provider.of(context); final currentLanguage = settingsStore.languageCode; - final dateSectionDateFormat = DateFormat("d MMM", currentLanguage); + final dateSectionDateFormat = settingsStore.currentLocale == 'en_US' + ? DateFormat("MMM d", settingsStore.languageCode) + : DateFormat("d MMM", settingsStore.languageCode); var title = ""; if (isToday) { diff --git a/lib/src/screens/trade_details/trade_details_page.dart b/lib/src/screens/trade_details/trade_details_page.dart index 8aaf1ced4..0d25254a0 100644 --- a/lib/src/screens/trade_details/trade_details_page.dart +++ b/lib/src/screens/trade_details/trade_details_page.dart @@ -5,6 +5,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/src/stores/exchange_trade/exchange_trade_store.dart'; +import 'package:cake_wallet/src/stores/settings/settings_store.dart'; import 'package:cake_wallet/src/screens/base_page.dart'; import 'package:cake_wallet/src/screens/transaction_details/standart_list_item.dart'; import 'package:cake_wallet/src/screens/transaction_details/standart_list_row.dart'; @@ -17,11 +18,13 @@ class TradeDetailsPage extends BasePage { @override bool get isModalBackButton => true; - final createdAtFormat = DateFormat('yyyy-MM-dd HH:mm:ss'); - @override Widget body(BuildContext context) { final exchangeStore = Provider.of(context); + final settingsStore = Provider.of(context); + final createdAtFormat = settingsStore.currentLocale == 'en_US' + ? DateFormat('yyyy.MM.dd, HH:mm') + : DateFormat('dd.MM.yyyy, HH:mm'); return Container( padding: EdgeInsets.only(top: 10.0, bottom: 10.0, left: 20, right: 15), diff --git a/lib/src/screens/transaction_details/transaction_details_page.dart b/lib/src/screens/transaction_details/transaction_details_page.dart index 670e6de6f..ec2b9a9f1 100644 --- a/lib/src/screens/transaction_details/transaction_details_page.dart +++ b/lib/src/screens/transaction_details/transaction_details_page.dart @@ -42,11 +42,13 @@ class TransactionDetailsForm extends StatefulWidget { } class TransactionDetailsFormState extends State { - final DateFormat _dateFormat = DateFormat('dd.MM.yyyy, HH:mm'); final _items = List(); @override void initState() { + final _dateFormat = widget.settingsStore.currentLocale == 'en_US' + ? DateFormat('yyyy.MM.dd, HH:mm') + : DateFormat('dd.MM.yyyy, HH:mm'); final items = [ StandartListItem( title: S.current.transaction_details_transaction_id, diff --git a/lib/src/stores/settings/settings_store.dart b/lib/src/stores/settings/settings_store.dart index 2faf106d0..7fce06e84 100644 --- a/lib/src/stores/settings/settings_store.dart +++ b/lib/src/stores/settings/settings_store.dart @@ -14,6 +14,7 @@ import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/src/domain/common/default_settings_migration.dart'; import 'package:package_info/package_info.dart'; import 'package:cake_wallet/src/domain/common/language.dart'; +import 'package:devicelocale/devicelocale.dart'; part 'settings_store.g.dart'; @@ -31,7 +32,8 @@ abstract class SettingsStoreBase with Store { @required bool initialDarkTheme, this.actionlistDisplayMode, @required int initialPinLength, - @required String initialLanguageCode}) { + @required String initialLanguageCode, + @required String initialCurrentLocale}) { fiatCurrency = initialFiatCurrency; transactionPriority = initialTransactionPriority; balanceDisplayMode = initialBalanceDisplayMode; @@ -42,6 +44,7 @@ abstract class SettingsStoreBase with Store { isDarkTheme = initialDarkTheme; defaultPinLength = initialPinLength; languageCode = initialLanguageCode; + currentLocale = initialCurrentLocale; itemHeaders = Map(); actionlistDisplayMode.observe( @@ -96,6 +99,7 @@ abstract class SettingsStoreBase with Store { sharedPreferences.getString(currentLanguageCode) == null ? await Language.localeDetection() : sharedPreferences.getString(currentLanguageCode); + final initialCurrentLocale = await Devicelocale.currentLocale; final store = SettingsStore( sharedPreferences: sharedPreferences, @@ -108,7 +112,8 @@ abstract class SettingsStoreBase with Store { initialDarkTheme: savedDarkTheme, actionlistDisplayMode: actionlistDisplayMode, initialPinLength: defaultPinLength, - initialLanguageCode: savedLanguageCode); + initialLanguageCode: savedLanguageCode, + initialCurrentLocale: initialCurrentLocale); await store.loadSettings(); @@ -141,8 +146,11 @@ abstract class SettingsStoreBase with Store { @observable int defaultPinLength; + String languageCode; + String currentLocale; + @observable Map itemHeaders;