import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:syncrow_app/features/auth/bloc/auth_cubit.dart'; import 'package:syncrow_app/features/auth/view/login_view.dart'; import 'package:syncrow_app/generated/assets.dart'; import 'package:syncrow_app/navigation/routing_constants.dart'; import 'package:syncrow_app/utils/helpers/custom_page_route.dart'; class SplashView extends StatefulWidget { const SplashView({super.key}); @override State createState() => _SplashViewState(); } class _SplashViewState extends State { @override void initState() { AuthCubit.get(context).getTokenAndValidate(); super.initState(); } @override Widget build(BuildContext context) { return BlocConsumer( listener: (context, state) { if (state is AuthTokenSuccess) { Navigator.pushNamedAndRemoveUntil(context, Routes.homeRoute, (route) => false); } else if (state is AuthTokenError) { Future.delayed(const Duration(seconds: 2), () { Navigator.pushReplacement( context, CustomPageRoute(builder: (context) => const LoginView()), ); }); } }, builder: (context, state) { return Scaffold( body: Stack( alignment: Alignment.center, children: [ Container( width: MediaQuery.sizeOf(context).width, height: MediaQuery.sizeOf(context).height, decoration: const BoxDecoration( image: DecorationImage( image: AssetImage( Assets.assetsImagesBackground, ), fit: BoxFit.cover, ), ), ), Container( width: MediaQuery.sizeOf(context).width, height: MediaQuery.sizeOf(context).height, decoration: const BoxDecoration( image: DecorationImage( image: AssetImage(Assets.assetsImagesVector), fit: BoxFit.cover, opacity: 0.9, ), ), ), SvgPicture.asset( Assets.assetsImagesLogo, width: 240, ) ], ), ); }, ); } }