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/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",

View File

@ -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<LoginPage> {
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<LoginPage> {
}
} catch (e) {
close!();
SnackBarService.showSnackBar(context: context, message: e.toString().replaceAll("Exception: ", ""));
widget.showToast(context, store.message!);
}
return false;
}

View File

@ -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<RegisterPage> {
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<RegisterPage> {
}
} catch (e) {
close!();
SnackBarService.showSnackBar(context: context, message: e.toString().replaceAll("Exception: ", ""));
widget.showToast(context, e.toString().replaceAll("Exception: ", ""));
}
return false;
}