diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-05-28 23:27:46 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2023-05-28 23:27:46 -0600 |
commit | 55ec472797581a02ac433e5a9e08d560dcba6a13 (patch) | |
tree | 0abb2ff303b8c5087d66611bff025e477862f93a /lib/screens/login_screen.dart | |
parent | 4874a3073450c0dfcb1c443342bcae78728a471b (diff) | |
download | linkchat-main.tar.gz linkchat-main.tar.bz2 linkchat-main.zip |
Sustitución de setState() por ValueNotifiermain
Diffstat (limited to 'lib/screens/login_screen.dart')
-rw-r--r-- | lib/screens/login_screen.dart | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/lib/screens/login_screen.dart b/lib/screens/login_screen.dart index c98a565..964c28b 100644 --- a/lib/screens/login_screen.dart +++ b/lib/screens/login_screen.dart @@ -20,7 +20,7 @@ class _LoginScreenState extends State<LoginScreen> final Auth _auth = Auth(); - bool isLoading = false; + final ValueNotifier<bool> _loadingNotifier = ValueNotifier<bool>(false); bool isInit = false; final padding = 16.0; @@ -110,18 +110,14 @@ class _LoginScreenState extends State<LoginScreen> ); void onLoginClicked(BuildContext context) { - setState(() { - isLoading = true; - }); + _loadingNotifier.value = true; _auth .signInWithEmailAndPassword( email: _emailController.text, password: _passwordController.text, ) .then((result) { - setState(() { - isLoading = false; - }); + _loadingNotifier.value = false; result.fold( (user) { if (user != null && user.emailVerified == false) { @@ -141,13 +137,9 @@ class _LoginScreenState extends State<LoginScreen> } void onGoogleLoginClicked(BuildContext context) { - setState(() { - isLoading = true; - }); + _loadingNotifier.value = true; _auth.signInWithGoogle().then((result) { - setState(() { - isLoading = false; - }); + _loadingNotifier.value = false; result.fold( (user) {}, (error) => handleError(error), @@ -156,13 +148,9 @@ class _LoginScreenState extends State<LoginScreen> } void onGithubLoginClicked(BuildContext context) { - setState(() { - isLoading = true; - }); + _loadingNotifier.value = true; _auth.signInWithGithub().then((result) { - setState(() { - isLoading = false; - }); + _loadingNotifier.value = false; result.fold( (user) {}, (error) => handleError(error), @@ -208,7 +196,11 @@ class _LoginScreenState extends State<LoginScreen> ), ), ), - isLoading ? const LoadingModal() : const SizedBox.shrink(), + ValueListenableBuilder( + valueListenable: _loadingNotifier, + builder: (context, value, child) => + value ? const LoadingModal() : const SizedBox.shrink(), + ), ], ), ); |