feature: toast mixin

main
Nilo Roberto C Paim 2023-09-20 17:40:52 -03:00
parent 8601b2ac6b
commit 1d70c21edc
3 changed files with 13 additions and 12 deletions

View File

@ -2,8 +2,9 @@ import 'package:flutter/material.dart';
import 'package:motion_toast/motion_toast.dart'; import 'package:motion_toast/motion_toast.dart';
import 'package:motion_toast/resources/arrays.dart'; import 'package:motion_toast/resources/arrays.dart';
class SnackBarService { // Create a mixin for toast animations
static void showSnackBar({required BuildContext context, required String message}) { mixin ToastMixin on StatefulWidget {
void showToast(BuildContext context, String message) {
MotionToast.error( MotionToast.error(
title: const Text( title: const Text(
"ERRO", "ERRO",

View File

@ -1,12 +1,12 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:pcastlivetv/components/nc_form_field.dart'; import 'package:pcastlivetv/components/nc_form_field.dart';
import 'package:pcastlivetv/mixins/toast_mixin.dart';
import 'package:pcastlivetv/routes.dart'; import 'package:pcastlivetv/routes.dart';
import 'package:pcastlivetv/services/snackbar_service.dart';
import 'package:pcastlivetv/stores/login_store.dart'; import 'package:pcastlivetv/stores/login_store.dart';
import 'package:validatorless/validatorless.dart'; import 'package:validatorless/validatorless.dart';
import 'package:velocity_x/velocity_x.dart'; import 'package:velocity_x/velocity_x.dart';
class LoginPage extends StatefulWidget { class LoginPage extends StatefulWidget with ToastMixin {
const LoginPage({super.key}); const LoginPage({super.key});
@override @override
@ -104,7 +104,7 @@ class _LoginPageState extends State<LoginPage> {
default: default:
} }
} else { } else {
SnackBarService.showSnackBar(context: context, message: store.message!); widget.showToast(context, store.message!);
} }
}, },
child: const Padding( child: const Padding(
@ -151,7 +151,7 @@ class _LoginPageState extends State<LoginPage> {
} }
} catch (e) { } catch (e) {
close!(); close!();
SnackBarService.showSnackBar(context: context, message: e.toString().replaceAll("Exception: ", "")); widget.showToast(context, store.message!);
} }
return false; return false;
} }

View File

@ -6,14 +6,14 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:pcastlivetv/components/nc_form_field.dart'; import 'package:pcastlivetv/components/nc_form_field.dart';
import 'package:pcastlivetv/globals.dart'; import 'package:pcastlivetv/globals.dart';
import 'package:pcastlivetv/mixins/toast_mixin.dart';
import 'package:pcastlivetv/models/user_model.dart'; import 'package:pcastlivetv/models/user_model.dart';
import 'package:pcastlivetv/routes.dart'; import 'package:pcastlivetv/routes.dart';
import 'package:pcastlivetv/services/snackbar_service.dart';
import 'package:pcastlivetv/stores/login_store.dart'; import 'package:pcastlivetv/stores/login_store.dart';
import 'package:validatorless/validatorless.dart'; import 'package:validatorless/validatorless.dart';
import 'package:velocity_x/velocity_x.dart'; import 'package:velocity_x/velocity_x.dart';
class RegisterPage extends StatefulWidget { class RegisterPage extends StatefulWidget with ToastMixin {
const RegisterPage({super.key}); const RegisterPage({super.key});
@override @override
@ -228,15 +228,15 @@ class _RegisterPageState extends State<RegisterPage> {
case 200: case 200:
var u = UserModel.fromJson(response.data); var u = UserModel.fromJson(response.data);
if (u.message != "") { if (u.message != "") {
SnackBarService.showSnackBar(context: context, message: u.message!); widget.showToast(context, u.message!);
return false; return false;
} }
break; break;
case 406: case 406:
SnackBarService.showSnackBar(context: context, message: 'Usuário já cadastrado'); widget.showToast(context, "Usuário já cadastrado");
break; break;
default: default:
SnackBarService.showSnackBar(context: context, message: response.statusMessage!); widget.showToast(context, response.statusMessage!);
} }
} }
return Future.value(true); return Future.value(true);
@ -267,7 +267,7 @@ class _RegisterPageState extends State<RegisterPage> {
} }
} catch (e) { } catch (e) {
close!(); close!();
SnackBarService.showSnackBar(context: context, message: e.toString().replaceAll("Exception: ", "")); widget.showToast(context, e.toString().replaceAll("Exception: ", ""));
} }
return false; return false;
} }