import 'package:flutter/material.dart'; import 'package:flutter/src/widgets/framework.dart'; import 'package:flutter/src/widgets/placeholder.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_progress_hud/flutter_progress_hud.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:unit2/bloc/profile/profile_bloc.dart'; import 'package:unit2/bloc/references/references_bloc.dart'; import 'package:unit2/bloc/user/user_bloc.dart'; import 'package:unit2/model/profile/references.dart'; import 'package:unit2/theme-data.dart/box_shadow.dart'; import 'package:unit2/theme-data.dart/colors.dart'; import 'package:unit2/utils/text_container.dart'; import 'package:unit2/widgets/Leadings/add_leading.dart'; import 'package:unit2/widgets/empty_data.dart'; class ReferencesScreen extends StatelessWidget { const ReferencesScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text(referencesScreenTitle), centerTitle: true, backgroundColor: primary, actions: [AddLeading(onPressed: () {})], ), body: ProgressHUD( padding: const EdgeInsets.all(24), backgroundColor: Colors.black87, indicatorWidget: const SpinKitFadingCircle( color: Colors.white), child: BlocBuilder( builder: (context, state) { //userbloc if (state is UserLoggedIn) { return BlocBuilder( builder: (context, state) { //profilebloc if (state is ProfileLoaded) { return BlocConsumer( //listener listener: (context, state) { if(state is ReferencesLoadingState){ final progress = ProgressHUD.of(context); progress!.showWithText("Please wait..."); } if(state is ReferencesLoadedState || state is ReferencesErrorState){ final progress = ProgressHUD.of(context); progress!.dismiss(); } }, //builder builder: (context, state) { //references bloc if (state is ReferencesLoadedState) { if (state.references.isNotEmpty) { return ListView.builder( padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 10), itemCount: state.references.length, itemBuilder: (BuildContext context, int index) { String fullname = "${state.references[index].firstName} ${state.references[index].middleName} ${state.references[index].lastName}"; String addres = "${state.references[index].address!.cityMunicipality!.description}, ${state.references[index].address!.cityMunicipality!.province!.description}, ${state.references[0].address!.cityMunicipality!.province!.region!.description}"; String mobile = state.references[index].contactNo.toString(); return Column( children: [ Container( padding: const EdgeInsets.symmetric( horizontal: 12, vertical: 8), decoration: box1(), child: Row( children: [ Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(fullname, style: Theme.of(context) .textTheme .titleMedium! .copyWith( fontWeight: FontWeight.w500)), const Divider(), const SizedBox( height: 5, ), Text(addres, style: Theme.of(context) .textTheme .titleSmall! .copyWith( fontWeight: FontWeight.w500)), const SizedBox( height: 8, ), Text("${mobileOrPhone.toUpperCase()} : $mobile", style: Theme.of(context) .textTheme .labelMedium!), ], ), ), IconButton( onPressed: () {}, icon: const Icon( Icons.more_vert, color: Colors.grey, )) ], ), ), const SizedBox( height: 5, ), ], ); }); } } return Container(); }, ); } return Container(); }, ); } return Container(); }, ), )); } }