import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_app/features/auth/bloc/auth_cubit.dart'; import 'package:syncrow_app/features/menu/bloc/menu_cubit.dart'; import 'package:syncrow_app/features/menu/view/widgets/menu_list.dart'; import 'package:syncrow_app/features/menu/view/widgets/profile_tab.dart'; import 'package:syncrow_app/features/shared_widgets/default_container.dart'; import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart'; import 'package:syncrow_app/navigation/routing_constants.dart'; import 'package:syncrow_app/utils/context_extension.dart'; import 'package:syncrow_app/utils/resource_manager/constants.dart'; class MenuView extends StatelessWidget { const MenuView({super.key}); @override Widget build(BuildContext context) { return BlocProvider( create: (BuildContext context) => MenuCubit(), child: BlocBuilder( builder: (context, state) { return BlocBuilder( builder: (context, state) { return Padding( padding: EdgeInsets.only( top: Constants.appBarHeight, bottom: Constants.bottomNavBarHeight, left: Constants.defaultPadding, right: Constants.defaultPadding, ), child: SingleChildScrollView( physics: const BouncingScrollPhysics(), child: Column( children: [ const ProfileTab(), ...MenuCubit.of(context).menuLists.map( (list) => MenuList( listModel: list, ), ), const SizedBox( height: 15, ), InkWell( onTap: () { AuthCubit.get(context).logout(); Navigator.of(context).pushNamedAndRemoveUntil( Routes.authLogin, (route) => false); }, child: Row( children: [ Expanded( child: DefaultContainer( child: Center( child: BodyLarge( text: 'Logout', style: context.bodyLarge.copyWith( color: Colors.red, ), ), ), ), ), ], ), ) ], ), ), ); }, ); }, ), ); } }