Merge pull request #41 from cake-tech/CWA-180-fix-local-date-format

CWA-180 | fixed local date format in dashboard_page, date_section_raw…
This commit is contained in:
M 2020-03-09 19:43:56 +02:00
commit 0616b04ab9
5 changed files with 31 additions and 10 deletions

View file

@ -1,5 +1,4 @@
import 'package:provider/provider.dart';
import 'package:intl/intl.dart';
import 'package:date_range_picker/date_range_picker.dart' as date_rage_picker;
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
@ -125,7 +124,9 @@ class DashboardPageBodyState extends State<DashboardPageBody> {
final actionListStore = Provider.of<ActionListStore>(context);
final syncStore = Provider.of<SyncStore>(context);
final settingsStore = Provider.of<SettingsStore>(context);
final transactionDateFormat = DateFormat("MMMM d, yyyy HH:mm", settingsStore.languageCode);
final transactionDateFormat = settingsStore.getCurrentDateFormat(
formatUSA: "MMMM d, yyyy, HH:mm",
formatDefault: "d MMMM yyyy, HH:mm");
return Observer(
key: _listObserverKey,

View file

@ -19,7 +19,9 @@ class DateSectionRaw extends StatelessWidget {
nowDate.year == date.year;
final settingsStore = Provider.of<SettingsStore>(context);
final currentLanguage = settingsStore.languageCode;
final dateSectionDateFormat = DateFormat("d MMM", currentLanguage);
final dateSectionDateFormat = settingsStore.getCurrentDateFormat(
formatUSA: "MMM d",
formatDefault: "d MMM");
var title = "";
if (isToday) {

View file

@ -5,10 +5,10 @@ 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';
import 'package:intl/intl.dart';
class TradeDetailsPage extends BasePage {
@override
@ -17,11 +17,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<ExchangeTradeStore>(context);
final settingsStore = Provider.of<SettingsStore>(context);
final createdAtFormat = settingsStore.getCurrentDateFormat(
formatUSA: "yyyy.MM.dd, HH:mm",
formatDefault: "dd.MM.yyyy, HH:mm");
return Container(
padding: EdgeInsets.only(top: 10.0, bottom: 10.0, left: 20, right: 15),

View file

@ -1,4 +1,3 @@
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
@ -42,11 +41,13 @@ class TransactionDetailsForm extends StatefulWidget {
}
class TransactionDetailsFormState extends State<TransactionDetailsForm> {
final DateFormat _dateFormat = DateFormat('dd.MM.yyyy, HH:mm');
final _items = List<StandartListItem>();
@override
void initState() {
final _dateFormat = widget.settingsStore.getCurrentDateFormat(
formatUSA: "yyyy.MM.dd, HH:mm",
formatDefault: "dd.MM.yyyy, HH:mm");
final items = [
StandartListItem(
title: S.current.transaction_details_transaction_id,

View file

@ -14,6 +14,8 @@ 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';
import 'package:intl/intl.dart';
part 'settings_store.g.dart';
@ -31,7 +33,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 +45,7 @@ abstract class SettingsStoreBase with Store {
isDarkTheme = initialDarkTheme;
defaultPinLength = initialPinLength;
languageCode = initialLanguageCode;
currentLocale = initialCurrentLocale;
itemHeaders = Map();
actionlistDisplayMode.observe(
@ -96,6 +100,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 +113,8 @@ abstract class SettingsStoreBase with Store {
initialDarkTheme: savedDarkTheme,
actionlistDisplayMode: actionlistDisplayMode,
initialPinLength: defaultPinLength,
initialLanguageCode: savedLanguageCode);
initialLanguageCode: savedLanguageCode,
initialCurrentLocale: initialCurrentLocale);
await store.loadSettings();
@ -141,8 +147,11 @@ abstract class SettingsStoreBase with Store {
@observable
int defaultPinLength;
String languageCode;
String currentLocale;
@observable
Map<String, String> itemHeaders;
@ -279,4 +288,10 @@ abstract class SettingsStoreBase with Store {
await changeCurrentNodeToDefault(sharedPreferences: _sharedPreferences, nodes: _nodes);
await loadSettings();
}
DateFormat getCurrentDateFormat({
@required String formatUSA,
@required String formatDefault}) => currentLocale == 'en_US'
? DateFormat(formatUSA, languageCode)
: DateFormat(formatDefault, languageCode);
}