feature: toast mixin
parent
8601b2ac6b
commit
1d70c21edc
|
|
@ -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",
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue