diff --git a/lib/services/snackbar_service.dart b/lib/mixins/toast_mixin.dart similarity index 79% rename from lib/services/snackbar_service.dart rename to lib/mixins/toast_mixin.dart index 60f8fbd..eef1b3c 100644 --- a/lib/services/snackbar_service.dart +++ b/lib/mixins/toast_mixin.dart @@ -2,8 +2,9 @@ import 'package:flutter/material.dart'; import 'package:motion_toast/motion_toast.dart'; import 'package:motion_toast/resources/arrays.dart'; -class SnackBarService { - static void showSnackBar({required BuildContext context, required String message}) { +// Create a mixin for toast animations +mixin ToastMixin on StatefulWidget { + void showToast(BuildContext context, String message) { MotionToast.error( title: const Text( "ERRO", diff --git a/lib/pages/login_page.dart b/lib/pages/login_page.dart index 74db2b0..b8654ae 100644 --- a/lib/pages/login_page.dart +++ b/lib/pages/login_page.dart @@ -1,12 +1,12 @@ import 'package:flutter/material.dart'; import 'package:pcastlivetv/components/nc_form_field.dart'; +import 'package:pcastlivetv/mixins/toast_mixin.dart'; import 'package:pcastlivetv/routes.dart'; -import 'package:pcastlivetv/services/snackbar_service.dart'; import 'package:pcastlivetv/stores/login_store.dart'; import 'package:validatorless/validatorless.dart'; import 'package:velocity_x/velocity_x.dart'; -class LoginPage extends StatefulWidget { +class LoginPage extends StatefulWidget with ToastMixin { const LoginPage({super.key}); @override @@ -104,7 +104,7 @@ class _LoginPageState extends State { default: } } else { - SnackBarService.showSnackBar(context: context, message: store.message!); + widget.showToast(context, store.message!); } }, child: const Padding( @@ -151,7 +151,7 @@ class _LoginPageState extends State { } } catch (e) { close!(); - SnackBarService.showSnackBar(context: context, message: e.toString().replaceAll("Exception: ", "")); + widget.showToast(context, store.message!); } return false; } diff --git a/lib/pages/register_page.dart b/lib/pages/register_page.dart index 5f0fa3e..5373baf 100644 --- a/lib/pages/register_page.dart +++ b/lib/pages/register_page.dart @@ -6,14 +6,14 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:pcastlivetv/components/nc_form_field.dart'; import 'package:pcastlivetv/globals.dart'; +import 'package:pcastlivetv/mixins/toast_mixin.dart'; import 'package:pcastlivetv/models/user_model.dart'; import 'package:pcastlivetv/routes.dart'; -import 'package:pcastlivetv/services/snackbar_service.dart'; import 'package:pcastlivetv/stores/login_store.dart'; import 'package:validatorless/validatorless.dart'; import 'package:velocity_x/velocity_x.dart'; -class RegisterPage extends StatefulWidget { +class RegisterPage extends StatefulWidget with ToastMixin { const RegisterPage({super.key}); @override @@ -228,15 +228,15 @@ class _RegisterPageState extends State { case 200: var u = UserModel.fromJson(response.data); if (u.message != "") { - SnackBarService.showSnackBar(context: context, message: u.message!); + widget.showToast(context, u.message!); return false; } break; case 406: - SnackBarService.showSnackBar(context: context, message: 'Usuário já cadastrado'); + widget.showToast(context, "Usuário já cadastrado"); break; default: - SnackBarService.showSnackBar(context: context, message: response.statusMessage!); + widget.showToast(context, response.statusMessage!); } } return Future.value(true); @@ -267,7 +267,7 @@ class _RegisterPageState extends State { } } catch (e) { close!(); - SnackBarService.showSnackBar(context: context, message: e.toString().replaceAll("Exception: ", "")); + widget.showToast(context, e.toString().replaceAll("Exception: ", "")); } return false; }