import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import '../../../core/constants/colors.dart'; import '../../../data/datasources/auth_local_datasource.dart'; import '../../auth/bloc/logout/logout_bloc.dart'; import '../../auth/login_page.dart'; class LogoutPage extends StatefulWidget { const LogoutPage({super.key}); @override State createState() => _LogoutPageState(); } class _LogoutPageState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Dashboard'), ), body: Center( child: Column( children: [ const Text('Welcome to Dashboard'), const SizedBox( height: 100, ), BlocListener( listener: (context, state) { state.maybeMap( orElse: () {}, error: (e) { ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text(e.message), backgroundColor: AppColors.red, ), ); }, success: (value) { AuthLocalDataSource().removeAuthData(); ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('Logout success'), backgroundColor: AppColors.primary, ), ); Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) { return const LoginPage(); })); }, ); }, child: ElevatedButton( onPressed: () { context.read().add(const LogoutEvent.logout()); }, child: const Text('Logout'), ), ), ], ), ), ); } }