From ee90d695edd23e2b8d35dabb7d4b6203c8964db8 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 11 Nov 2020 16:13:57 +0200 Subject: [PATCH] Clean up warnings --- lib/main_app.dart | 8 ++++++-- lib/redux/task/task_actions.dart | 15 ++++++-------- lib/redux/token/token_actions.dart | 5 ++--- lib/redux/webhook/webhook_actions.dart | 5 ++--- lib/ui/app/lists/app_list_tile.dart | 8 ++++---- lib/ui/client/edit/client_edit_contacts.dart | 1 - lib/ui/client/edit/client_edit_details.dart | 1 - lib/ui/client/view/client_view_details.dart | 6 +++--- lib/ui/client/view/client_view_vm.dart | 7 ++----- lib/ui/credit/view/credit_view_vm.dart | 7 ++----- lib/ui/expense/view/expense_view_vm.dart | 7 ++----- lib/ui/invoice/edit/invoice_edit_items.dart | 3 --- .../invoice/view/invoice_view_contacts.dart | 6 +++--- lib/ui/invoice/view/invoice_view_vm.dart | 7 ++----- lib/ui/product/view/product_view_vm.dart | 7 ++----- lib/ui/project/view/project_view_vm.dart | 7 ++----- lib/ui/quote/view/quote_view_vm.dart | 7 ++----- .../view/recurring_invoice_view_vm.dart | 7 ++----- lib/ui/settings/client_portal.dart | 7 +++---- lib/ui/task/edit/task_edit_times.dart | 2 -- lib/ui/task/task_presenter.dart | 2 -- lib/ui/task/view/task_view_vm.dart | 20 +++++++------------ lib/ui/vendor/edit/vendor_edit_contacts.dart | 1 - lib/ui/vendor/edit/vendor_edit_details.dart | 1 - lib/ui/vendor/view/vendor_view_vm.dart | 7 ++----- 25 files changed, 54 insertions(+), 100 deletions(-) diff --git a/lib/main_app.dart b/lib/main_app.dart index f6ca7e0ed..da090f82f 100644 --- a/lib/main_app.dart +++ b/lib/main_app.dart @@ -207,7 +207,9 @@ class InvoiceNinjaAppState extends State { brightness: Brightness.dark, accentColor: accentColor, indicatorColor: accentColor, - textSelectionHandleColor: accentColor, + textSelectionTheme: TextSelectionThemeData( + selectionHandleColor: accentColor, + ), fontFamily: fontFamily, backgroundColor: Colors.black, canvasColor: Colors.black, @@ -221,7 +223,9 @@ class InvoiceNinjaAppState extends State { primaryColor: accentColor, accentColor: accentColor, indicatorColor: accentColor, - textSelectionColor: accentColor, + textSelectionTheme: TextSelectionThemeData( + selectionColor: accentColor, + ), fontFamily: fontFamily, backgroundColor: Colors.white, canvasColor: Colors.white, diff --git a/lib/redux/task/task_actions.dart b/lib/redux/task/task_actions.dart index 9c345d003..a27e4fb70 100644 --- a/lib/redux/task/task_actions.dart +++ b/lib/redux/task/task_actions.dart @@ -4,13 +4,13 @@ import 'package:built_collection/built_collection.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/task/task_selectors.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -306,14 +306,11 @@ void handleTaskAction( store .dispatch(SaveTaskRequest(completer: completer, task: task.toggle())); completer.future.then((savedTask) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: savedTask.isRunning - ? (savedTask.duration > 0 - ? localization.resumedTask - : localization.startedTask) - : localization.stoppedTask, - ))); + showToast(savedTask.isRunning + ? (savedTask.duration > 0 + ? localization.resumedTask + : localization.startedTask) + : localization.stoppedTask); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/redux/token/token_actions.dart b/lib/redux/token/token_actions.dart index 581dd3028..a087a78a7 100644 --- a/lib/redux/token/token_actions.dart +++ b/lib/redux/token/token_actions.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; @@ -265,9 +266,7 @@ void handleTokenAction( switch (action) { case EntityAction.copy: Clipboard.setData(ClipboardData(text: token.token)); - Scaffold.of(context).showSnackBar(SnackBar( - content: Text( - localization.copiedToClipboard.replaceFirst(':value ', '')))); + showToast(localization.copiedToClipboard.replaceFirst(':value ', '')); break; case EntityAction.edit: editEntity(context: context, entity: token); diff --git a/lib/redux/webhook/webhook_actions.dart b/lib/redux/webhook/webhook_actions.dart index 0165f7077..7359b2185 100644 --- a/lib/redux/webhook/webhook_actions.dart +++ b/lib/redux/webhook/webhook_actions.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; @@ -261,9 +262,7 @@ void handleWebhookAction( switch (action) { case EntityAction.copy: Clipboard.setData(ClipboardData(text: webhook.targetUrl)); - Scaffold.of(context).showSnackBar(SnackBar( - content: Text( - localization.copiedToClipboard.replaceFirst(':value ', '')))); + showToast(localization.copiedToClipboard.replaceFirst(':value ', '')); break; case EntityAction.edit: editEntity(context: context, entity: webhook); diff --git a/lib/ui/app/lists/app_list_tile.dart b/lib/ui/app/lists/app_list_tile.dart index 7cb42ace0..d0506b792 100644 --- a/lib/ui/app/lists/app_list_tile.dart +++ b/lib/ui/app/lists/app_list_tile.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; class AppListTile extends StatelessWidget { @@ -45,10 +46,9 @@ class AppListTile extends StatelessWidget { } Clipboard.setData(ClipboardData(text: copyValue ?? title)); - Scaffold.of(context).showSnackBar(SnackBar( - content: Text(AppLocalization.of(context) - .copiedToClipboard - .replaceFirst(':value', copyValue ?? title)))); + showToast(AppLocalization.of(context) + .copiedToClipboard + .replaceFirst(':value', copyValue ?? title)); }, ), ); diff --git a/lib/ui/client/edit/client_edit_contacts.dart b/lib/ui/client/edit/client_edit_contacts.dart index 64e4399c7..96f6eda57 100644 --- a/lib/ui/client/edit/client_edit_contacts.dart +++ b/lib/ui/client/edit/client_edit_contacts.dart @@ -15,7 +15,6 @@ import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/contacts.dart'; import 'package:invoiceninja_flutter/utils/dialogs.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; -import 'package:permission_handler/permission_handler.dart'; import 'package:contacts_service/contacts_service.dart'; class ClientEditContacts extends StatefulWidget { diff --git a/lib/ui/client/edit/client_edit_details.dart b/lib/ui/client/edit/client_edit_details.dart index 5d36efa6f..f1a75d2b1 100644 --- a/lib/ui/client/edit/client_edit_details.dart +++ b/lib/ui/client/edit/client_edit_details.dart @@ -14,7 +14,6 @@ import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/contacts.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; import 'package:invoiceninja_flutter/ui/app/form_card.dart'; -import 'package:permission_handler/permission_handler.dart'; import 'package:contacts_service/contacts_service.dart'; class ClientEditDetails extends StatefulWidget { diff --git a/lib/ui/client/view/client_view_details.dart b/lib/ui/client/view/client_view_details.dart index 162957a3c..920e370d3 100644 --- a/lib/ui/client/view/client_view_details.dart +++ b/lib/ui/client/view/client_view_details.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/constants.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/ui/app/lists/app_list_tile.dart'; @@ -70,9 +71,8 @@ class _ClientViewDetailsState extends State { borderRadius: BorderRadius.circular(5)), onPressed: () { Clipboard.setData(ClipboardData(text: contact.link)); - Scaffold.of(context).showSnackBar(SnackBar( - content: Text(localization.copiedToClipboard - .replaceFirst(':value ', '')))); + showToast( + localization.copiedToClipboard.replaceFirst(':value ', '')); }, )), ], diff --git a/lib/ui/client/view/client_view_vm.dart b/lib/ui/client/view/client_view_vm.dart index 1767a5563..c600a54ed 100644 --- a/lib/ui/client/view/client_view_vm.dart +++ b/lib/ui/client/view/client_view_vm.dart @@ -3,13 +3,13 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/client/client_actions.dart'; import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/client/view/client_view.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -85,10 +85,7 @@ class ClientViewVM { store.dispatch(SaveClientDocumentRequest( filePath: filePath, client: client, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/ui/credit/view/credit_view_vm.dart b/lib/ui/credit/view/credit_view_vm.dart index 9ee003ec7..21ec140f1 100644 --- a/lib/ui/credit/view/credit_view_vm.dart +++ b/lib/ui/credit/view/credit_view_vm.dart @@ -3,13 +3,13 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/redux/credit/credit_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view.dart'; import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view_vm.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; @@ -112,10 +112,7 @@ class CreditViewVM extends EntityViewVM { store.dispatch(SaveCreditDocumentRequest( filePath: filePath, credit: credit, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/ui/expense/view/expense_view_vm.dart b/lib/ui/expense/view/expense_view_vm.dart index e55ccc704..871eedf3c 100644 --- a/lib/ui/expense/view/expense_view_vm.dart +++ b/lib/ui/expense/view/expense_view_vm.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/expense_model.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; @@ -11,7 +12,6 @@ import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/redux/expense/expense_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/expense/view/expense_view.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -117,10 +117,7 @@ class ExpenseViewVM { store.dispatch(SaveDocumentRequest( filePath: filePath, entity: expense, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/ui/invoice/edit/invoice_edit_items.dart b/lib/ui/invoice/edit/invoice_edit_items.dart index 36b412796..8740494e9 100644 --- a/lib/ui/invoice/edit/invoice_edit_items.dart +++ b/lib/ui/invoice/edit/invoice_edit_items.dart @@ -1,10 +1,8 @@ -import 'package:invoiceninja_flutter/ui/app/buttons/elevated_button.dart'; import 'package:invoiceninja_flutter/ui/app/forms/custom_field.dart'; import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart'; import 'package:invoiceninja_flutter/ui/app/help_text.dart'; import 'package:invoiceninja_flutter/ui/app/invoice/invoice_item_view.dart'; import 'package:invoiceninja_flutter/ui/app/invoice/tax_rate_dropdown.dart'; -import 'package:invoiceninja_flutter/ui/app/responsive_padding.dart'; import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_items_vm.dart'; import 'package:invoiceninja_flutter/ui/invoice/edit/invoice_edit_vm.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; @@ -13,7 +11,6 @@ import 'package:invoiceninja_flutter/utils/formatting.dart'; import 'package:flutter/material.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; -import 'package:invoiceninja_flutter/ui/app/form_card.dart'; class InvoiceEditItems extends StatefulWidget { const InvoiceEditItems({ diff --git a/lib/ui/invoice/view/invoice_view_contacts.dart b/lib/ui/invoice/view/invoice_view_contacts.dart index d5006e07c..3873f3ef7 100644 --- a/lib/ui/invoice/view/invoice_view_contacts.dart +++ b/lib/ui/invoice/view/invoice_view_contacts.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/constants.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view_vm.dart'; @@ -101,9 +102,8 @@ class _InvitationListTile extends StatelessWidget { borderRadius: BorderRadius.circular(5)), onPressed: () { Clipboard.setData(ClipboardData(text: invitation.link)); - Scaffold.of(context).showSnackBar(SnackBar( - content: Text(localization.copiedToClipboard - .replaceFirst(':value ', '')))); + showToast(localization.copiedToClipboard + .replaceFirst(':value ', '')); }, )), ], diff --git a/lib/ui/invoice/view/invoice_view_vm.dart b/lib/ui/invoice/view/invoice_view_vm.dart index 12b0b5bd5..89979e066 100644 --- a/lib/ui/invoice/view/invoice_view_vm.dart +++ b/lib/ui/invoice/view/invoice_view_vm.dart @@ -3,13 +3,13 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/redux/invoice/invoice_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -145,10 +145,7 @@ class InvoiceViewVM extends EntityViewVM { store.dispatch(SaveInvoiceDocumentRequest( filePath: filePath, invoice: invoice, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/ui/product/view/product_view_vm.dart b/lib/ui/product/view/product_view_vm.dart index 88cfcc42d..6bccb657e 100644 --- a/lib/ui/product/view/product_view_vm.dart +++ b/lib/ui/product/view/product_view_vm.dart @@ -3,13 +3,13 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/redux/product/product_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/product/view/product_view.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -84,10 +84,7 @@ class ProductViewVM { store.dispatch(SaveProductDocumentRequest( filePath: filePath, product: product, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/ui/project/view/project_view_vm.dart b/lib/ui/project/view/project_view_vm.dart index 47f7c39c8..23d4e208c 100644 --- a/lib/ui/project/view/project_view_vm.dart +++ b/lib/ui/project/view/project_view_vm.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/data/models/project_model.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; @@ -10,7 +11,6 @@ import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/redux/project/project_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/project/view/project_view.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -105,10 +105,7 @@ class ProjectViewVM { store.dispatch(SaveProjectDocumentRequest( filePath: filePath, project: project, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/ui/quote/view/quote_view_vm.dart b/lib/ui/quote/view/quote_view_vm.dart index 246d0a44a..15f212786 100644 --- a/lib/ui/quote/view/quote_view_vm.dart +++ b/lib/ui/quote/view/quote_view_vm.dart @@ -3,13 +3,13 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/redux/quote/quote_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view.dart'; import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view_vm.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; @@ -110,10 +110,7 @@ class QuoteViewVM extends EntityViewVM { store.dispatch(SaveQuoteDocumentRequest( filePath: filePath, quote: quote, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/ui/recurring_invoice/view/recurring_invoice_view_vm.dart b/lib/ui/recurring_invoice/view/recurring_invoice_view_vm.dart index 879d74884..ba40ccbb8 100644 --- a/lib/ui/recurring_invoice/view/recurring_invoice_view_vm.dart +++ b/lib/ui/recurring_invoice/view/recurring_invoice_view_vm.dart @@ -1,10 +1,10 @@ import 'dart:async'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view.dart'; import 'package:invoiceninja_flutter/ui/invoice/view/invoice_view_vm.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; @@ -111,10 +111,7 @@ class RecurringInvoiceViewVM extends EntityViewVM { store.dispatch(SaveRecurringInvoiceDocumentRequest( filePath: filePath, invoice: invoice, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/ui/settings/client_portal.dart b/lib/ui/settings/client_portal.dart index e27d3b896..ebd6161e3 100644 --- a/lib/ui/settings/client_portal.dart +++ b/lib/ui/settings/client_portal.dart @@ -1,6 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/entities.dart'; import 'package:invoiceninja_flutter/ui/app/form_card.dart'; @@ -287,10 +288,8 @@ class _ClientPortalState extends State onTap: () { Clipboard.setData( ClipboardData(text: company.companyKey)); - Scaffold.of(context).showSnackBar(SnackBar( - content: Text(localization.copiedToClipboard - .replaceFirst( - ':value ', company.companyKey)))); + showToast(localization.copiedToClipboard + .replaceFirst(':value ', company.companyKey)); }, ); }), diff --git a/lib/ui/task/edit/task_edit_times.dart b/lib/ui/task/edit/task_edit_times.dart index efc0bda40..de08d342b 100644 --- a/lib/ui/task/edit/task_edit_times.dart +++ b/lib/ui/task/edit/task_edit_times.dart @@ -1,5 +1,4 @@ import 'package:invoiceninja_flutter/data/models/task_model.dart'; -import 'package:invoiceninja_flutter/ui/app/buttons/elevated_button.dart'; import 'package:invoiceninja_flutter/ui/app/forms/date_picker.dart'; import 'package:invoiceninja_flutter/ui/app/forms/duration_picker.dart'; import 'package:invoiceninja_flutter/ui/app/forms/time_picker.dart'; @@ -9,7 +8,6 @@ import 'package:invoiceninja_flutter/ui/task/edit/task_edit_times_vm.dart'; import 'package:invoiceninja_flutter/ui/task/task_time_view.dart'; import 'package:flutter/material.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; -import 'package:invoiceninja_flutter/ui/app/form_card.dart'; class TaskEditTimes extends StatefulWidget { const TaskEditTimes({ diff --git a/lib/ui/task/task_presenter.dart b/lib/ui/task/task_presenter.dart index 53ca492e9..13d0ef660 100644 --- a/lib/ui/task/task_presenter.dart +++ b/lib/ui/task/task_presenter.dart @@ -102,8 +102,6 @@ class TaskPresenter extends EntityPresenter { formatDate(convertTimestampToDateString(task.archivedAt), context)); case TaskFields.isDeleted: return Text(task.isDeleted.toString()); - case TaskFields.status: - return Text(state.taskStatusState.get(task.statusId).name); } return super.getField(field: field, context: context); diff --git a/lib/ui/task/view/task_view_vm.dart b/lib/ui/task/view/task_view_vm.dart index fbbc13d3c..999da80bc 100644 --- a/lib/ui/task/view/task_view_vm.dart +++ b/lib/ui/task/view/task_view_vm.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/data/models/task_model.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; @@ -10,7 +11,6 @@ import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/redux/task/task_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/task/view/task_view.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -77,14 +77,11 @@ class TaskViewVM { store .dispatch(SaveTaskRequest(completer: completer, task: task.toggle())); completer.future.then((savedTask) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: savedTask.isRunning - ? (savedTask.duration > 0 - ? localization.resumedTask - : localization.startedTask) - : localization.stoppedTask, - ))); + showToast(savedTask.isRunning + ? (savedTask.duration > 0 + ? localization.resumedTask + : localization.startedTask) + : localization.stoppedTask); }).catchError((Object error) { showDialog( context: context, @@ -120,10 +117,7 @@ class TaskViewVM { store.dispatch(SaveTaskDocumentRequest( filePath: filePath, task: task, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context, diff --git a/lib/ui/vendor/edit/vendor_edit_contacts.dart b/lib/ui/vendor/edit/vendor_edit_contacts.dart index a41b368d1..0f89799ba 100644 --- a/lib/ui/vendor/edit/vendor_edit_contacts.dart +++ b/lib/ui/vendor/edit/vendor_edit_contacts.dart @@ -12,7 +12,6 @@ import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/contacts.dart'; import 'package:invoiceninja_flutter/utils/dialogs.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; -import 'package:permission_handler/permission_handler.dart'; import 'package:contacts_service/contacts_service.dart'; class VendorEditContacts extends StatefulWidget { diff --git a/lib/ui/vendor/edit/vendor_edit_details.dart b/lib/ui/vendor/edit/vendor_edit_details.dart index 2f32b75fa..f160b0bc6 100644 --- a/lib/ui/vendor/edit/vendor_edit_details.dart +++ b/lib/ui/vendor/edit/vendor_edit_details.dart @@ -12,7 +12,6 @@ import 'package:invoiceninja_flutter/ui/vendor/edit/vendor_edit_vm.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/contacts.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; -import 'package:permission_handler/permission_handler.dart'; import 'package:contacts_service/contacts_service.dart'; class VendorEditDetails extends StatefulWidget { diff --git a/lib/ui/vendor/view/vendor_view_vm.dart b/lib/ui/vendor/view/vendor_view_vm.dart index fe2eb9526..5de3996e5 100644 --- a/lib/ui/vendor/view/vendor_view_vm.dart +++ b/lib/ui/vendor/view/vendor_view_vm.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:flutter_styled_toast/flutter_styled_toast.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/data/models/vendor_model.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; @@ -10,7 +11,6 @@ import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/redux/document/document_actions.dart'; import 'package:invoiceninja_flutter/redux/vendor/vendor_actions.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart'; -import 'package:invoiceninja_flutter/ui/app/snackbar_row.dart'; import 'package:invoiceninja_flutter/ui/vendor/view/vendor_view.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -105,10 +105,7 @@ class VendorViewVM { store.dispatch(SaveVendorDocumentRequest( filePath: filePath, vendor: vendor, completer: completer)); completer.future.then((client) { - Scaffold.of(context).showSnackBar(SnackBar( - content: SnackBarRow( - message: AppLocalization.of(context).uploadedDocument, - ))); + showToast(AppLocalization.of(context).uploadedDocument); }).catchError((Object error) { showDialog( context: context,