Settings
This commit is contained in:
parent
dea3e6cba4
commit
3bd9237801
|
|
@ -134,9 +134,7 @@ class MainScreen extends StatelessWidget {
|
||||||
viewWidget: ExpenseViewScreen(),
|
viewWidget: ExpenseViewScreen(),
|
||||||
editWidget: ExpenseEditScreen(),
|
editWidget: ExpenseEditScreen(),
|
||||||
),
|
),
|
||||||
// TODO profile/time to see if this optimization helps
|
SettingsScreens(),
|
||||||
mainRoute == 'settings' ? SettingsScreens() : SizedBox(),
|
|
||||||
//SettingsScreens(),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
@ -152,13 +150,79 @@ class SettingsScreens extends StatelessWidget {
|
||||||
final store = StoreProvider.of<AppState>(context);
|
final store = StoreProvider.of<AppState>(context);
|
||||||
final state = store.state;
|
final state = store.state;
|
||||||
final uiState = state.uiState;
|
final uiState = state.uiState;
|
||||||
final subRoute = uiState.subRoute;
|
|
||||||
final index = subRoute.isEmpty
|
|
||||||
? kSettingsSections.length
|
|
||||||
: kSettingsSections.indexOf(subRoute);
|
|
||||||
|
|
||||||
return Row(
|
Widget screen = BlankScreen();
|
||||||
children: <Widget>[
|
|
||||||
|
switch (uiState.subRoute) {
|
||||||
|
case kSettingsCompanyDetails:
|
||||||
|
screen = CompanyDetailsScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsUserDetails:
|
||||||
|
screen = UserDetailsScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsLocalization:
|
||||||
|
screen = LocalizationScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsOnlinePayments:
|
||||||
|
screen = CompanyGatewayScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsOnlinePaymentsView:
|
||||||
|
screen = CompanyGatewayViewScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsOnlinePaymentsEdit:
|
||||||
|
screen = CompanyGatewayEditScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsTaxRates:
|
||||||
|
screen = TaxRatesScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsProducts:
|
||||||
|
screen = ProductSettingsScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsNotifications:
|
||||||
|
screen = NotificationsSettingsScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsImportExport:
|
||||||
|
screen = ImportExportScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsDeviceSettings:
|
||||||
|
screen = DeviceSettingsScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsGroupSettings:
|
||||||
|
screen = GroupSettingsScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsGroupSettingsView:
|
||||||
|
screen = GroupViewScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsGroupSettingsEdit:
|
||||||
|
screen = GroupEditScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsInvoiceSettings:
|
||||||
|
screen = InvoiceSettingsScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsInvoiceDesign:
|
||||||
|
screen = InvoiceDesignScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsClientPortal:
|
||||||
|
screen = ClientPortalScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsBuyNowButtons:
|
||||||
|
screen = BuyNowButtonsScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsEmailSettings:
|
||||||
|
screen = EmailSettingsScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsTemplatesAndReminders:
|
||||||
|
screen = TemplatesAndRemindersScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsCreditCardsAndBanks:
|
||||||
|
screen = CreditCardsAndBanksScreen();
|
||||||
|
break;
|
||||||
|
case kSettingsDataVisualizations:
|
||||||
|
screen = DataVisualizationsScreen();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Row(children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
child: SettingsScreen(),
|
child: SettingsScreen(),
|
||||||
flex: 2,
|
flex: 2,
|
||||||
|
|
@ -166,37 +230,9 @@ class SettingsScreens extends StatelessWidget {
|
||||||
VerticalDivider(width: isDarkMode(context) ? 1 : .5),
|
VerticalDivider(width: isDarkMode(context) ? 1 : .5),
|
||||||
Expanded(
|
Expanded(
|
||||||
flex: 3,
|
flex: 3,
|
||||||
child: IndexedStack(
|
child: screen,
|
||||||
index: index,
|
)
|
||||||
children: <Widget>[
|
]);
|
||||||
CompanyDetailsScreen(),
|
|
||||||
UserDetailsScreen(),
|
|
||||||
LocalizationScreen(),
|
|
||||||
CompanyGatewayScreen(),
|
|
||||||
CompanyGatewayViewScreen(),
|
|
||||||
CompanyGatewayEditScreen(),
|
|
||||||
TaxRatesScreen(),
|
|
||||||
ProductSettingsScreen(),
|
|
||||||
NotificationsSettingsScreen(),
|
|
||||||
ImportExportScreen(),
|
|
||||||
DeviceSettingsScreen(),
|
|
||||||
GroupSettingsScreen(),
|
|
||||||
GroupViewScreen(),
|
|
||||||
GroupEditScreen(),
|
|
||||||
InvoiceSettingsScreen(),
|
|
||||||
InvoiceDesignScreen(),
|
|
||||||
ClientPortalScreen(),
|
|
||||||
BuyNowButtonsScreen(),
|
|
||||||
EmailSettingsScreen(),
|
|
||||||
TemplatesAndRemindersScreen(),
|
|
||||||
CreditCardsAndBanksScreen(),
|
|
||||||
DataVisualizationsScreen(),
|
|
||||||
BlankScreen(),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -247,6 +283,7 @@ class EntityScreens extends StatelessWidget {
|
||||||
|
|
||||||
class BlankScreen extends StatelessWidget {
|
class BlankScreen extends StatelessWidget {
|
||||||
const BlankScreen([this.message]);
|
const BlankScreen([this.message]);
|
||||||
|
|
||||||
final String message;
|
final String message;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||||
|
|
||||||
class CompanyDetailsScreen extends StatelessWidget {
|
class CompanyDetailsScreen extends StatelessWidget {
|
||||||
const CompanyDetailsScreen({Key key}) : super(key: key);
|
const CompanyDetailsScreen({Key key}) : super(key: key);
|
||||||
static const String route = '/settings/$kSettingsCompanyDetails';
|
static const String route = '/$kSettings/$kSettingsCompanyDetails';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue