diff --git a/lib/redux/credit/credit_actions.dart b/lib/redux/credit/credit_actions.dart index bf44e04de..304190fa6 100644 --- a/lib/redux/credit/credit_actions.dart +++ b/lib/redux/credit/credit_actions.dart @@ -440,14 +440,16 @@ Future handleCreditAction( showMessageDialog( context: context, message: localization.clientEmailNotSet, - secondaryAction: FlatButton( - onPressed: () { - Navigator.of(context).pop(); - editEntity( - context: context, - entity: state.clientState.get(credit.clientId)); - }, - child: Text(localization.editClient.toUpperCase()))); + secondaryActions: [ + FlatButton( + onPressed: () { + Navigator.of(context).pop(); + editEntity( + context: context, + entity: state.clientState.get(credit.clientId)); + }, + child: Text(localization.editClient.toUpperCase())) + ]); return; } if (creditIds.length == 1) { diff --git a/lib/redux/invoice/invoice_actions.dart b/lib/redux/invoice/invoice_actions.dart index a468d4b54..423648804 100644 --- a/lib/redux/invoice/invoice_actions.dart +++ b/lib/redux/invoice/invoice_actions.dart @@ -539,14 +539,16 @@ void handleInvoiceAction(BuildContext context, List invoices, showMessageDialog( context: context, message: localization.clientEmailNotSet, - secondaryAction: FlatButton( - onPressed: () { - Navigator.of(context).pop(); - editEntity( - context: context, - entity: state.clientState.get(invoice.clientId)); - }, - child: Text(localization.editClient.toUpperCase()))); + secondaryActions: [ + FlatButton( + onPressed: () { + Navigator.of(context).pop(); + editEntity( + context: context, + entity: state.clientState.get(invoice.clientId)); + }, + child: Text(localization.editClient.toUpperCase())) + ]); return; } if (invoiceIds.length == 1) { diff --git a/lib/redux/quote/quote_actions.dart b/lib/redux/quote/quote_actions.dart index 8d3929416..44bfb0a9b 100644 --- a/lib/redux/quote/quote_actions.dart +++ b/lib/redux/quote/quote_actions.dart @@ -463,14 +463,16 @@ Future handleQuoteAction( showMessageDialog( context: context, message: localization.clientEmailNotSet, - secondaryAction: FlatButton( - onPressed: () { - Navigator.of(context).pop(); - editEntity( - context: context, - entity: state.clientState.get(quote.clientId)); - }, - child: Text(localization.editClient.toUpperCase()))); + secondaryActions: [ + FlatButton( + onPressed: () { + Navigator.of(context).pop(); + editEntity( + context: context, + entity: state.clientState.get(quote.clientId)); + }, + child: Text(localization.editClient.toUpperCase())) + ]); return; } if (quoteIds.length == 1) { diff --git a/lib/ui/app/dialogs/alert_dialog.dart b/lib/ui/app/dialogs/alert_dialog.dart index 975f10c69..c7e90e97a 100644 --- a/lib/ui/app/dialogs/alert_dialog.dart +++ b/lib/ui/app/dialogs/alert_dialog.dart @@ -7,12 +7,12 @@ class MessageDialog extends StatelessWidget { this.onDismiss, this.onDiscard, this.dismissLabel, - this.secondaryAction, + this.secondaryActions, }); final String message; final String dismissLabel; - final FlatButton secondaryAction; + final List secondaryActions; final Function onDismiss; final Function onDiscard; @@ -50,10 +50,14 @@ class MessageDialog extends StatelessWidget { onDiscard(); }), ), - if (secondaryAction != null) - Padding( - padding: const EdgeInsets.only(right: 10), - child: secondaryAction, + if (secondaryActions != null) + Row( + children: secondaryActions + .map((action) => Padding( + padding: const EdgeInsets.only(right: 10), + child: action, + )) + .toList(), ), FlatButton( onPressed: () { diff --git a/lib/ui/app/menu_drawer.dart b/lib/ui/app/menu_drawer.dart index 80730f981..f76dc4a7a 100644 --- a/lib/ui/app/menu_drawer.dart +++ b/lib/ui/app/menu_drawer.dart @@ -501,23 +501,31 @@ class SidebarFooter extends StatelessWidget { Expanded(child: SizedBox()) ] else ...[ if (!Config.DEMO_MODE && !state.isDemo) - if (!account.isCronEnabled) + if (true || !account.isCronEnabled) IconButton( icon: Icon( Icons.warning, color: Colors.red, ), onPressed: () => showMessageDialog( - context: context, - message: localization.cronsNotEnabled, - secondaryAction: FlatButton( - child: Text(localization.learnMore.toUpperCase()), - onPressed: () { - launch(kCronsHelpUrl, - forceSafariVC: false, forceWebView: false); - }, - ), - ), + context: context, + message: localization.cronsNotEnabled, + secondaryActions: [ + FlatButton( + child: Text(localization.learnMore.toUpperCase()), + onPressed: () { + launch(kCronsHelpUrl, + forceSafariVC: false, forceWebView: false); + }, + ), + FlatButton( + child: Text(localization.refreshData.toUpperCase()), + onPressed: () { + store.dispatch(RefreshData()); + Navigator.of(context).pop(); + }, + ), + ]), ) else if (state.credentials.token.isEmpty) IconButton( diff --git a/lib/utils/dialogs.dart b/lib/utils/dialogs.dart index ae7df4df9..32aff72ad 100644 --- a/lib/utils/dialogs.dart +++ b/lib/utils/dialogs.dart @@ -22,14 +22,14 @@ void showErrorDialog({ void showMessageDialog({ @required BuildContext context, @required String message, - FlatButton secondaryAction, + List secondaryActions, }) { showDialog( context: context, builder: (BuildContext context) { return MessageDialog( message, - secondaryAction: secondaryAction, + secondaryActions: secondaryActions, ); }); }