import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:sampleapp/widgets/components/reflex_circular_progress.dart'; import '../services/auth/auth_view_model.dart'; class LoginScreen extends StatefulWidget { final VoidCallback onLogin; const LoginScreen({Key? key, required this.onLogin}) : super(key: key); @override _LoginScreenState createState() => _LoginScreenState(); } class _LoginScreenState extends State { Future _login() async { final authViewModel = context.read(); final result = await authViewModel.login(); if (result == true) widget.onLogin(); } @override void initState() { super.initState(); _login(); } @override Widget build(BuildContext context) { final authViewModel = context.watch(); return Scaffold( body: Center( child: authViewModel.loggingIn ? const ReflexCircularProgress() : ElevatedButton( onPressed: () async { await _login(); }, child: const Padding( padding: EdgeInsets.all(8.0), child: Text('Log in'), ), ), ), ); } }