diff --git a/lib/controllers/org_controller.dart b/lib/controllers/org_controller.dart index aa997a376..c3b261a0a 100644 --- a/lib/controllers/org_controller.dart +++ b/lib/controllers/org_controller.dart @@ -1,7 +1,7 @@ //flutter packages are called here import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:fluttertoast/fluttertoast.dart'; + import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:persistent_bottom_nav_bar/persistent-tab-view.dart'; import 'package:talawa/controllers/auth_controller.dart'; @@ -9,6 +9,7 @@ import 'package:talawa/controllers/auth_controller.dart'; //pages are called here import 'package:talawa/services/preferences.dart'; import 'package:talawa/services/queries_.dart'; +import 'package:talawa/utils/custom_toast.dart'; import 'package:talawa/utils/globals.dart'; import 'package:talawa/utils/gql_client.dart'; import 'package:talawa/views/pages/home_page.dart'; @@ -82,7 +83,7 @@ class OrgController with ChangeNotifier { ); if (result.hasException || userDetailsResult.hasException) { - print(result.exception); + debugPrint(result.exception.toString()); showError(result.exception.toString()); } else if (!result.hasException && !disposed && @@ -105,7 +106,7 @@ class OrgController with ChangeNotifier { // Filtering out organizations that are already joined by user. joinedOrganizationsIds.forEach((e) { - print(e); + debugPrint(e.toString()); organizationInfo = organizationInfo.where((element) => element['_id'] != e).toList(); }); @@ -114,7 +115,7 @@ class OrgController with ChangeNotifier { } /// FUNCTION CALLED TP JOIN THE PRIVATE ORGANIZATION - Future joinPrivateOrg(BuildContext context, FToast fToast, String itemIndex, + Future joinPrivateOrg(BuildContext context, String itemIndex, {@required bool fromProfile}) async { final GraphQLClient _client = graphQLConfiguration.authClient(); @@ -124,14 +125,14 @@ class OrgController with ChangeNotifier { if (result.hasException && result.exception.toString().substring(16) == accessTokenException) { _authController.getNewToken(); - return joinPrivateOrg(context, fToast, itemIndex, - fromProfile: fromProfile); + return joinPrivateOrg(context, itemIndex, fromProfile: fromProfile); } else if (result.hasException && result.exception.toString().substring(16) != accessTokenException) { - _exceptionToast(result.exception.toString().substring(16), fToast); + CustomToast.exceptionToast( + msg: result.exception.toString().substring(16), + ); } else if (!result.hasException && !result.loading) { - print(result.data); - _successToast("Request Sent to Organization Admin", fToast); + CustomToast.sucessToast(msg: "Request Sent to Organization Admin"); if (fromProfile) { Navigator.pop(context); @@ -147,22 +148,30 @@ class OrgController with ChangeNotifier { /// Function which will be called if the person wants to join the public organization Future joinPublicOrg( - String orgName, String itemIndex, FToast fToast, BuildContext context, + String orgName, String itemIndex, BuildContext context, {bool fromProfile}) async { final GraphQLClient _client = graphQLConfiguration.authClient(); + debugPrint(orgName); - print(orgName); - - final QueryResult result = await _client - .mutate(MutationOptions(documentNode: gql(_query.getOrgId(itemIndex)))); + final QueryResult result = await _client.mutate( + MutationOptions( + documentNode: gql( + _query.getOrgId( + itemIndex, + ), + ), + ), + ); if (result.hasException && result.exception.toString().substring(16) == accessTokenException) { _authController.getNewToken(); - _exceptionToast(result.exception.toString().substring(16), fToast); + CustomToast.exceptionToast( + msg: result.exception.toString().substring(16)); } else if (result.hasException && result.exception.toString().substring(16) != accessTokenException) { - _exceptionToast(result.exception.toString().substring(16), fToast); + CustomToast.exceptionToast( + msg: result.exception.toString().substring(16)); } else if (!result.hasException && !result.loading) { joinedOrg = result.data['joinPublicOrganization']['joinedOrganizations'] as List; @@ -203,7 +212,7 @@ class OrgController with ChangeNotifier { } } } - _successToast("Success!", fToast); + CustomToast.sucessToast(msg: "Success!"); if (fromProfile) { pushNewScreen( @@ -231,43 +240,4 @@ class OrgController with ChangeNotifier { ), ); } - - _successToast(String msg, FToast fToast) { - final Widget toast = Container( - padding: const EdgeInsets.symmetric(horizontal: 20.0, vertical: 12.0), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(25.0), - color: Colors.green, - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text(msg), - ], - ), - ); - - fToast.showToast( - child: toast, - gravity: ToastGravity.BOTTOM, - toastDuration: const Duration(seconds: 3), - ); - } - - _exceptionToast(String msg, FToast fToast) { - final Widget toast = Container( - padding: const EdgeInsets.symmetric(horizontal: 24.0, vertical: 14.0), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(25.0), - color: Colors.red, - ), - child: Text(msg), - ); - - fToast.showToast( - child: toast, - gravity: ToastGravity.BOTTOM, - toastDuration: const Duration(seconds: 3), - ); - } } diff --git a/lib/utils/loghelper.dart b/lib/utils/loghelper.dart index 805aeabd4..e50388193 100644 --- a/lib/utils/loghelper.dart +++ b/lib/utils/loghelper.dart @@ -1,8 +1,8 @@ import 'dart:io'; import 'package:flutter_logs/flutter_logs.dart'; -import 'package:fluttertoast/fluttertoast.dart'; import 'package:path_provider/path_provider.dart'; +import 'package:talawa/utils/custom_toast.dart'; class LogHelper { init() async { @@ -45,10 +45,7 @@ class LogHelper { // var responseCode = await ApiFunctions().sendLogs(file.path); // if(responseCode == 200){ // } - Fluttertoast.showToast( - msg: "The Logs are saved in ${file.path}", - toastLength: Toast.LENGTH_LONG, - ); + CustomToast.sucessToast(msg: "The Logs are saved in ${file.path}"); } else { FlutterLogs.logError( "LogHelper", diff --git a/lib/view_models/newwfeed_view_model/new_article_page_view_model.dart b/lib/view_models/newwfeed_view_model/new_article_page_view_model.dart index 0804a75ea..14eadb130 100644 --- a/lib/view_models/newwfeed_view_model/new_article_page_view_model.dart +++ b/lib/view_models/newwfeed_view_model/new_article_page_view_model.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:fluttertoast/fluttertoast.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:provider/provider.dart'; import 'package:talawa/controllers/post_controller.dart'; @@ -45,8 +44,10 @@ class NewsArticleViewModel extends BaseModel { this.context = context; this.index = index; _commentController = TextEditingController( - text: Provider.of(context, listen: false) - .comment(post.id.toString())); + text: Provider.of(context, listen: false).comment( + post.id.toString(), + ), + ); _commentController.addListener(_notifyData); fetchUserDetails(); } @@ -133,24 +134,22 @@ class NewsArticleViewModel extends BaseModel { FocusScope.of(context).unfocus(); String queryText = ''; if (commentController.text.isNotEmpty) { - Fluttertoast.showToast(msg: "Adding Comment..."); + CustomToast.sucessToast(msg: "Adding Comment..."); + queryText = commentController.text.replaceAll("\n", newLineKey).trim(); final Map result = await Queries().createComments(post.id.toString(), queryText) as Map; if (result == null) { - Fluttertoast.showToast( - msg: "Sorry, this comment could not be posted.", - ); + CustomToast.exceptionToast( + msg: "Sorry, this comment could not be posted."); } else { _isCommentAdded = true; FocusScope.of(context).requestFocus(FocusNode()); commentController.text = ''; - await Fluttertoast.showToast( - msg: "Comment added.", - ); + CustomToast.exceptionToast(msg: "Comment added."); } } else { - Fluttertoast.showToast(msg: "Please write comment"); + CustomToast.exceptionToast(msg: "Please write comment"); } } diff --git a/lib/view_models/page_view_model/events_page_view_model.dart b/lib/view_models/page_view_model/events_page_view_model.dart index 60f8ef9ec..5c13398e3 100644 --- a/lib/view_models/page_view_model/events_page_view_model.dart +++ b/lib/view_models/page_view_model/events_page_view_model.dart @@ -3,6 +3,7 @@ import 'dart:convert'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; + import 'package:persistent_bottom_nav_bar/persistent-tab-view.dart'; import 'package:talawa/enums/event_recurrance.dart'; import 'package:talawa/enums/viewstate.dart'; diff --git a/lib/view_models/page_view_model/join_organization_view_model.dart b/lib/view_models/page_view_model/join_organization_view_model.dart index d316fad80..7e2c07df1 100644 --- a/lib/view_models/page_view_model/join_organization_view_model.dart +++ b/lib/view_models/page_view_model/join_organization_view_model.dart @@ -1,7 +1,7 @@ import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:fluttertoast/fluttertoast.dart'; + import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:talawa/controllers/auth_controller.dart'; import 'package:talawa/enums/exception_type.dart'; @@ -9,9 +9,10 @@ import 'package:talawa/enums/org_filter.dart'; import 'package:talawa/services/exception.dart'; import 'package:talawa/services/preferences.dart'; import 'package:talawa/services/queries_.dart'; +import 'package:talawa/utils/custom_toast.dart'; import 'package:talawa/utils/gql_client.dart'; import 'package:talawa/view_models/base_model.dart'; -import 'package:talawa/views/widgets/shared/toast_container.dart'; + import '../../locator.dart'; class JoinOrgnizationViewModel extends BaseModel { @@ -19,7 +20,7 @@ class JoinOrgnizationViewModel extends BaseModel { final Preferences _pref = Preferences(); String token, _itemIndex, _isPublic, _currentUserId = ""; GraphQLConfiguration graphQLConfiguration = locator(); - FToast fToast; + List _organizationInfo = [], joinedOrg = [], joinedOrganizations = [], @@ -41,8 +42,6 @@ class JoinOrgnizationViewModel extends BaseModel { String get isPublic => _isPublic; String get itemIndex => _itemIndex; void initialise(BuildContext context, OrganisationFilter filter) { - fToast = FToast(); - fToast.init(context); fetchOrg(filter); } @@ -144,13 +143,6 @@ class JoinOrgnizationViewModel extends BaseModel { } } - showToast(String msg, Color color) { - fToast.showToast( - child: toastContainer(msg, color), - gravity: ToastGravity.BOTTOM, - toastDuration: const Duration(seconds: 3)); - } - void searchOrgName(String orgName) { //it is the search bar to search the organization _filteredOrgInfo.clear(); @@ -238,15 +230,18 @@ class JoinOrgnizationViewModel extends BaseModel { final ExceptionType exceptionType = retrieveExceptionType(result); if (exceptionType == ExceptionType.accesstokenException) { _authController.getNewToken(); - showToast(result.exception.toString().substring(16), Colors.red); + CustomToast.exceptionToast( + msg: result.exception.toString().substring(16)); + return joinPrivateOrg(context); } else { - showToast(result.exception.toString().substring(16), Colors.red); + CustomToast.exceptionToast( + msg: result.exception.toString().substring(16)); } return; } if (!result.loading) { - showToast("Request Sent to Organization Admin", Colors.green); + CustomToast.sucessToast(msg: "Request Sent to Organization Admin"); Navigator.pop(context); } } @@ -261,10 +256,14 @@ class JoinOrgnizationViewModel extends BaseModel { final ExceptionType exceptionType = retrieveExceptionType(result); if (exceptionType == ExceptionType.accesstokenException) { _authController.getNewToken(); - showToast(result.exception.toString().substring(16), Colors.red); + CustomToast.exceptionToast( + msg: result.exception.toString().substring(16)); + return joinPublicOrg(context, orgName); } else { - showToast(result.exception.toString().substring(16), Colors.red); + CustomToast.exceptionToast( + msg: result.exception.toString().substring(16), + ); } return; } @@ -306,7 +305,8 @@ class JoinOrgnizationViewModel extends BaseModel { } } } - showToast("Success!", Colors.green); + CustomToast.sucessToast(msg: "Success!"); + Navigator.pop(context); } } diff --git a/lib/views/pages/login_signup/login_form.dart b/lib/views/pages/login_signup/login_form.dart index 0d3e5ca40..252f7f3fc 100644 --- a/lib/views/pages/login_signup/login_form.dart +++ b/lib/views/pages/login_signup/login_form.dart @@ -1,4 +1,5 @@ //flutter packages are called here + import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; diff --git a/lib/views/pages/organization/join_organization_view.dart b/lib/views/pages/organization/join_organization_view.dart index 5d3a04f1e..01e16c5b8 100644 --- a/lib/views/pages/organization/join_organization_view.dart +++ b/lib/views/pages/organization/join_organization_view.dart @@ -26,7 +26,6 @@ class _JoinOrganizationState extends State { final GlobalKey scaffoldKey = GlobalKey(); TextEditingController searchController = TextEditingController(); - FToast fToast; bool disposed = false; String searchText; String filter = "Show All"; @@ -34,8 +33,7 @@ class _JoinOrganizationState extends State { @override void initState() { super.initState(); - fToast = FToast(); - fToast.init(context); + Provider.of( context, listen: false, @@ -158,7 +156,6 @@ class _JoinOrganizationState extends State { color: Colors.white, child: OrganizationBody( fromProfile: widget.fromProfile, - fToast: fToast, scaffoldKey: scaffoldKey, filter: filter, query: searchText, diff --git a/lib/views/pages/organization/join_organization_widgets/org_body.dart b/lib/views/pages/organization/join_organization_widgets/org_body.dart index 4127a2516..86b080793 100644 --- a/lib/views/pages/organization/join_organization_widgets/org_body.dart +++ b/lib/views/pages/organization/join_organization_widgets/org_body.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:fluttertoast/fluttertoast.dart'; + import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:talawa/services/app_localization.dart'; import 'package:talawa/services/queries_.dart'; @@ -11,7 +11,6 @@ class OrganizationBody extends StatefulWidget { const OrganizationBody({ Key key, @required this.fromProfile, - @required this.fToast, @required this.scaffoldKey, @required this.filter, this.query, @@ -20,7 +19,7 @@ class OrganizationBody extends StatefulWidget { final String query; final bool fromProfile; final String filter; - final FToast fToast; + final GlobalKey scaffoldKey; @override @@ -127,7 +126,6 @@ class _OrganizationBodyState extends State { final organization = organizations[index] as Map; return OrganisationTile( - fToast: widget.fToast, fromProfile: widget.fromProfile, index: index, organization: organization, @@ -223,7 +221,6 @@ class _OrganizationBodyState extends State { final organization = organizations[index] as Map; return OrganisationTile( - fToast: widget.fToast, fromProfile: widget.fromProfile, index: index, organization: organization, diff --git a/lib/views/pages/organization/join_organization_widgets/org_tile.dart b/lib/views/pages/organization/join_organization_widgets/org_tile.dart index 337c24483..c07aaa468 100644 --- a/lib/views/pages/organization/join_organization_widgets/org_tile.dart +++ b/lib/views/pages/organization/join_organization_widgets/org_tile.dart @@ -13,14 +13,13 @@ class OrganisationTile extends StatefulWidget { @required this.organization, @required this.index, @required this.fromProfile, - @required this.fToast, @required this.scaffoldKey, }) : super(key: key); final Map organization; final int index; final bool fromProfile; - final FToast fToast; + final GlobalKey scaffoldKey; @override @@ -157,7 +156,6 @@ class _OrganisationTileState extends State { ).joinPublicOrg( orgName, organizationId, - widget.fToast, context, fromProfile: widget.fromProfile, ); @@ -169,7 +167,6 @@ class _OrganisationTileState extends State { await Provider.of(dialogContext, listen: false) .joinPrivateOrg( context, - widget.fToast, organizationId, fromProfile: widget.fromProfile, ); diff --git a/lib/views/pages/organization/organization_settings.dart b/lib/views/pages/organization/organization_settings.dart index cc6dfc758..81f81bf09 100644 --- a/lib/views/pages/organization/organization_settings.dart +++ b/lib/views/pages/organization/organization_settings.dart @@ -128,7 +128,6 @@ class _OrganizationSettingsState extends State { setState(() { processing = false; }); - //_exceptionToast(result.exception.toString().substring(16)); } else if (!result.hasException && !result.loading) { CustomToast.sucessToast( msg: AppLocalizations.of(context) diff --git a/lib/views/widgets/_widgets.dart b/lib/views/widgets/_widgets.dart index c1f2dc318..4000221c8 100644 --- a/lib/views/widgets/_widgets.dart +++ b/lib/views/widgets/_widgets.dart @@ -1,3 +1,2 @@ export 'about_tile.dart'; export 'common_divider.dart'; -export 'snackbar.dart'; diff --git a/lib/views/widgets/exception_toast.dart b/lib/views/widgets/exception_toast.dart deleted file mode 100644 index 71721af7e..000000000 --- a/lib/views/widgets/exception_toast.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:fluttertoast/fluttertoast.dart'; -import 'package:talawa/utils/ui_scaling.dart'; - -//Here we are making the exception bar it will be called when user gets some exception - -class ExceptionToast extends StatefulWidget { - const ExceptionToast(this.msg); - final String msg; - - @override - _ExceptionToastState createState() => _ExceptionToastState(); -} - -class _ExceptionToastState extends State { - FToast fToast; - - @override - // ignore: type_annotate_public_apis - initState() { - super.initState(); - fToast = FToast(); - fToast.init(context); - } - - @override - Widget build(BuildContext context) { - return _exceptionToast() as Widget; - } - - _exceptionToast() { - final Widget toast = Container( - padding: EdgeInsets.symmetric( - horizontal: SizeConfig.safeBlockHorizontal * 6, - vertical: SizeConfig.safeBlockVertical * 1.75), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(25.0), - color: Colors.red, - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - widget.msg, - style: const TextStyle(fontSize: 15.0, color: Colors.white), - textAlign: TextAlign.center, - ), - ], - ), - ); - - fToast.showToast( - child: toast, - gravity: ToastGravity.BOTTOM, - toastDuration: const Duration(seconds: 3), - ); - } -} diff --git a/lib/views/widgets/shared/toast_container.dart b/lib/views/widgets/shared/toast_container.dart deleted file mode 100644 index a165db73e..000000000 --- a/lib/views/widgets/shared/toast_container.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:talawa/utils/ui_scaling.dart'; - -//Curstom toast container with custom message and color. -Container toastContainer(String msg, Color color) { - return Container( - padding: EdgeInsets.symmetric( - horizontal: SizeConfig.safeBlockHorizontal * 5, - vertical: SizeConfig.safeBlockVertical * 1.5), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(25.0), - color: color, - ), - child: Text( - msg, - maxLines: 3, - overflow: TextOverflow.ellipsis, - ), - ); -} diff --git a/lib/views/widgets/snackbar.dart b/lib/views/widgets/snackbar.dart deleted file mode 100644 index 8be59ff2c..000000000 --- a/lib/views/widgets/snackbar.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -//creating the snackbar here to be shown if any error is occurred - -class SnackBarFactory extends StatelessWidget { - const SnackBarFactory( - this.msg, - ); - - final String msg; - - @override - Widget build(BuildContext context) { - return SnackBar( - content: Text( - msg, - ), - ); - } -}