This commit is contained in:
Hillel Coren 2019-10-02 17:29:50 +03:00
parent f868987df1
commit 79474c6413
7 changed files with 13 additions and 7 deletions

View File

@ -91,6 +91,7 @@ const String kSettingsTaxRates = 'tax_rates';
const String kSettingsNotifications = 'notifications'; const String kSettingsNotifications = 'notifications';
const String kSettingsProducts = 'products'; const String kSettingsProducts = 'products';
const String kSettingsImportExport = 'import_export'; const String kSettingsImportExport = 'import_export';
const String kSettingsDeviceSettings = 'device_settings';
const String kSettingsInvoiceSettings = 'invoice_settings'; const String kSettingsInvoiceSettings = 'invoice_settings';
const String kSettingsInvoiceDesign = 'invoice_design'; const String kSettingsInvoiceDesign = 'invoice_design';
const String kSettingsClientPortal = 'client_portal'; const String kSettingsClientPortal = 'client_portal';

View File

@ -374,7 +374,7 @@ class DrawerTile extends StatelessWidget {
: title == localization.settings ? 'settings' : entityType.name; : title == localization.settings ? 'settings' : entityType.name;
return SelectedIndicator( return SelectedIndicator(
isSelected: uiState.containsRoute(route), isSelected: uiState.currentRoute.startsWith('/$route'),
child: ListTile( child: ListTile(
dense: true, dense: true,
leading: Icon(icon, size: 22.0), leading: Icon(icon, size: 22.0),

View File

@ -1,6 +1,6 @@
import 'package:invoiceninja_flutter/constants.dart';
import 'package:invoiceninja_flutter/ui/app/help_text.dart'; import 'package:invoiceninja_flutter/ui/app/help_text.dart';
import 'package:invoiceninja_flutter/ui/app/screen_imports.dart'; import 'package:invoiceninja_flutter/ui/app/screen_imports.dart';
import 'package:invoiceninja_flutter/ui/settings/company_details.dart';
import 'package:invoiceninja_flutter/ui/settings/company_details_vm.dart'; import 'package:invoiceninja_flutter/ui/settings/company_details_vm.dart';
import 'package:invoiceninja_flutter/ui/settings/user_details_vm.dart'; import 'package:invoiceninja_flutter/ui/settings/user_details_vm.dart';
import 'package:invoiceninja_flutter/utils/localization.dart'; import 'package:invoiceninja_flutter/utils/localization.dart';
@ -124,14 +124,13 @@ class SettingsScreens extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final store = StoreProvider.of<AppState>(context); final store = StoreProvider.of<AppState>(context);
final localization = AppLocalization.of(context);
final state = store.state; final state = store.state;
final uiState = state.uiState; final uiState = state.uiState;
final subRoute = uiState.subRoute; final subRoute = uiState.subRoute;
int index = 0; int index = 0;
if (subRoute == localization.userDetails) { if (subRoute == kSettingsUserDetails) {
index = 1; index = 1;
} }

View File

@ -28,7 +28,7 @@ class CompanyDetailsVM {
}); });
static CompanyDetailsVM fromStore(Store<AppState> store) { static CompanyDetailsVM fromStore(Store<AppState> store) {
final state = store.state; //final state = store.state;
return CompanyDetailsVM( return CompanyDetailsVM(
state: store.state, state: store.state,

View File

@ -59,6 +59,10 @@ class SettingsList extends StatelessWidget {
section: kSettingsImportExport, section: kSettingsImportExport,
viewModel: viewModel, viewModel: viewModel,
), ),
SettingsListTile(
section: kSettingsDeviceSettings,
viewModel: viewModel,
),
Container( Container(
color: Theme.of(context).backgroundColor, color: Theme.of(context).backgroundColor,
padding: const EdgeInsets.only(left: 15, top: 15, bottom: 15), padding: const EdgeInsets.only(left: 15, top: 15, bottom: 15),

View File

@ -1,7 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_redux/flutter_redux.dart';
import 'package:invoiceninja_flutter/ui/settings/company_details.dart';
import 'package:invoiceninja_flutter/ui/settings/user_details.dart'; import 'package:invoiceninja_flutter/ui/settings/user_details.dart';
import 'package:redux/redux.dart'; import 'package:redux/redux.dart';
import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart';
@ -29,7 +28,7 @@ class UserDetailsVM {
}); });
static UserDetailsVM fromStore(Store<AppState> store) { static UserDetailsVM fromStore(Store<AppState> store) {
final state = store.state; //final state = store.state;
return UserDetailsVM( return UserDetailsVM(
state: store.state, state: store.state,

View File

@ -14,6 +14,7 @@ abstract class LocaleCodeAware {
mixin LocalizationsProvider on LocaleCodeAware { mixin LocalizationsProvider on LocaleCodeAware {
static final Map<String, Map<String, String>> _localizedValues = { static final Map<String, Map<String, String>> _localizedValues = {
'en': { 'en': {
'device_settings': 'Device Settings',
'defaults': 'Defaults', 'defaults': 'Defaults',
'basic_settings': 'Basic Settings', 'basic_settings': 'Basic Settings',
'advanced_settings': 'Advanced Settings', 'advanced_settings': 'Advanced Settings',
@ -14669,6 +14670,8 @@ mixin LocalizationsProvider on LocaleCodeAware {
String get defaults => _localizedValues[localeCode]['defaults']; String get defaults => _localizedValues[localeCode]['defaults'];
String get deviceSettings => _localizedValues[localeCode]['device_settings'];
String lookup(String key) { String lookup(String key) {
final lookupKey = toSnakeCase(key); final lookupKey = toSnakeCase(key);
return _localizedValues[localeCode][lookupKey] ?? return _localizedValues[localeCode][lookupKey] ??