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:provider/provider.dart';
import 'package:intl/intl.dart';
import 'package:date_range_picker/date_range_picker.dart' as date_rage_picker; import 'package:date_range_picker/date_range_picker.dart' as date_rage_picker;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -125,7 +124,9 @@ class DashboardPageBodyState extends State<DashboardPageBody> {
final actionListStore = Provider.of<ActionListStore>(context); final actionListStore = Provider.of<ActionListStore>(context);
final syncStore = Provider.of<SyncStore>(context); final syncStore = Provider.of<SyncStore>(context);
final settingsStore = Provider.of<SettingsStore>(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( return Observer(
key: _listObserverKey, key: _listObserverKey,

View file

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

View file

@ -5,10 +5,10 @@ import 'package:flutter/services.dart';
import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:cake_wallet/generated/i18n.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/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/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_item.dart';
import 'package:cake_wallet/src/screens/transaction_details/standart_list_row.dart'; import 'package:cake_wallet/src/screens/transaction_details/standart_list_row.dart';
import 'package:intl/intl.dart';
class TradeDetailsPage extends BasePage { class TradeDetailsPage extends BasePage {
@override @override
@ -17,11 +17,13 @@ class TradeDetailsPage extends BasePage {
@override @override
bool get isModalBackButton => true; bool get isModalBackButton => true;
final createdAtFormat = DateFormat('yyyy-MM-dd HH:mm:ss');
@override @override
Widget body(BuildContext context) { Widget body(BuildContext context) {
final exchangeStore = Provider.of<ExchangeTradeStore>(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( return Container(
padding: EdgeInsets.only(top: 10.0, bottom: 10.0, left: 20, right: 15), 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:provider/provider.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -42,11 +41,13 @@ class TransactionDetailsForm extends StatefulWidget {
} }
class TransactionDetailsFormState extends State<TransactionDetailsForm> { class TransactionDetailsFormState extends State<TransactionDetailsForm> {
final DateFormat _dateFormat = DateFormat('dd.MM.yyyy, HH:mm');
final _items = List<StandartListItem>(); final _items = List<StandartListItem>();
@override @override
void initState() { void initState() {
final _dateFormat = widget.settingsStore.getCurrentDateFormat(
formatUSA: "yyyy.MM.dd, HH:mm",
formatDefault: "dd.MM.yyyy, HH:mm");
final items = [ final items = [
StandartListItem( StandartListItem(
title: S.current.transaction_details_transaction_id, 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:cake_wallet/src/domain/common/default_settings_migration.dart';
import 'package:package_info/package_info.dart'; import 'package:package_info/package_info.dart';
import 'package:cake_wallet/src/domain/common/language.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'; part 'settings_store.g.dart';
@ -31,7 +33,8 @@ abstract class SettingsStoreBase with Store {
@required bool initialDarkTheme, @required bool initialDarkTheme,
this.actionlistDisplayMode, this.actionlistDisplayMode,
@required int initialPinLength, @required int initialPinLength,
@required String initialLanguageCode}) { @required String initialLanguageCode,
@required String initialCurrentLocale}) {
fiatCurrency = initialFiatCurrency; fiatCurrency = initialFiatCurrency;
transactionPriority = initialTransactionPriority; transactionPriority = initialTransactionPriority;
balanceDisplayMode = initialBalanceDisplayMode; balanceDisplayMode = initialBalanceDisplayMode;
@ -42,6 +45,7 @@ abstract class SettingsStoreBase with Store {
isDarkTheme = initialDarkTheme; isDarkTheme = initialDarkTheme;
defaultPinLength = initialPinLength; defaultPinLength = initialPinLength;
languageCode = initialLanguageCode; languageCode = initialLanguageCode;
currentLocale = initialCurrentLocale;
itemHeaders = Map(); itemHeaders = Map();
actionlistDisplayMode.observe( actionlistDisplayMode.observe(
@ -96,6 +100,7 @@ abstract class SettingsStoreBase with Store {
sharedPreferences.getString(currentLanguageCode) == null sharedPreferences.getString(currentLanguageCode) == null
? await Language.localeDetection() ? await Language.localeDetection()
: sharedPreferences.getString(currentLanguageCode); : sharedPreferences.getString(currentLanguageCode);
final initialCurrentLocale = await Devicelocale.currentLocale;
final store = SettingsStore( final store = SettingsStore(
sharedPreferences: sharedPreferences, sharedPreferences: sharedPreferences,
@ -108,7 +113,8 @@ abstract class SettingsStoreBase with Store {
initialDarkTheme: savedDarkTheme, initialDarkTheme: savedDarkTheme,
actionlistDisplayMode: actionlistDisplayMode, actionlistDisplayMode: actionlistDisplayMode,
initialPinLength: defaultPinLength, initialPinLength: defaultPinLength,
initialLanguageCode: savedLanguageCode); initialLanguageCode: savedLanguageCode,
initialCurrentLocale: initialCurrentLocale);
await store.loadSettings(); await store.loadSettings();
@ -141,8 +147,11 @@ abstract class SettingsStoreBase with Store {
@observable @observable
int defaultPinLength; int defaultPinLength;
String languageCode; String languageCode;
String currentLocale;
@observable @observable
Map<String, String> itemHeaders; Map<String, String> itemHeaders;
@ -279,4 +288,10 @@ abstract class SettingsStoreBase with Store {
await changeCurrentNodeToDefault(sharedPreferences: _sharedPreferences, nodes: _nodes); await changeCurrentNodeToDefault(sharedPreferences: _sharedPreferences, nodes: _nodes);
await loadSettings(); await loadSettings();
} }
DateFormat getCurrentDateFormat({
@required String formatUSA,
@required String formatDefault}) => currentLocale == 'en_US'
? DateFormat(formatUSA, languageCode)
: DateFormat(formatDefault, languageCode);
} }