main_screen.dart 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import 'package:computo_lite/views/home/home_screen.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:provider/provider.dart';
  4. import '../../viewmodels/viewmodels.dart';
  5. import '../../views/login/login_screen.dart';
  6. import '../paquetes/recepcion_screen.dart';
  7. class MainScreen extends StatefulWidget {
  8. const MainScreen({super.key});
  9. @override
  10. MainScreenState createState() => MainScreenState();
  11. }
  12. class MainScreenState extends State<MainScreen> {
  13. @override
  14. void initState() {
  15. super.initState();
  16. Future(() async {
  17. Provider.of<LoginViewModel>(context, listen: false).checkSession();
  18. });
  19. }
  20. @override
  21. Widget build(BuildContext context) {
  22. return Consumer(builder: (context, LoginViewModel login, _) {
  23. switch (login.status) {
  24. case Status.uninitialized:
  25. return const Scaffold(
  26. body: Center(
  27. child: CircularProgressIndicator(),
  28. ),
  29. );
  30. case Status.unauthenticated:
  31. return const LoginScreen();
  32. case Status.authenticating:
  33. return const Scaffold(
  34. body: Center(
  35. child: CircularProgressIndicator(),
  36. ),
  37. );
  38. case Status.authenticated:
  39. return const HomeScreen();
  40. }
  41. });
  42. }
  43. }