import 'package:eatvio_app/core/widgets/data_error_widget.dart'; import 'package:eatvio_app/core/widgets/loader.dart'; import 'package:eatvio_app/features/feed/presentation/bloc/consultants_cubit/consultants_cubit.dart'; import 'package:eatvio_app/features/feed/presentation/bloc/consultants_cubit/consultants_state.dart'; import 'package:eatvio_app/features/feed/presentation/widgets/consultant_widget.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; class Consultants extends StatelessWidget { const Consultants({super.key}); @override Widget build(BuildContext context) { return RefreshIndicator( onRefresh: () => context.read().getConsultants(), child: BlocBuilder( builder: (BuildContext context, ConsultantsState state) { if (state is ConsultantsStateLoaded) { return Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Material( color: Colors.white, borderRadius: BorderRadius.circular(12), child: Padding( padding: const EdgeInsets.symmetric(horizontal: 16), child: ListView.separated( padding: EdgeInsets.symmetric(vertical: 16), shrinkWrap: true, physics: BouncingScrollPhysics(), itemBuilder: (context, index) { return ConsultantWidget(consultant: state.consultantsList[index]); }, separatorBuilder: (context, index) { return SizedBox(height: 12); }, itemCount: state.consultantsList.length, ), ), ), ); } else if (state is ConsultantsStateError) { return DataErrorWidget(onReload: () => context.read().getConsultants()); } else { return Scaffold( backgroundColor: Colors.grey.shade200, body: const Loader(), ); } }, ), ); } }