import 'package:car_provider_app/config/provider_routes.dart'; import 'package:car_provider_app/generated/locale_keys.g.dart'; import 'package:car_provider_app/view_models/service_view_model.dart'; import 'package:flutter/material.dart'; import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:provider/provider.dart'; import 'package:easy_localization/easy_localization.dart'; class ServiceProviderWidget extends StatelessWidget { const ServiceProviderWidget({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return SizedBox( width: double.infinity, height: 140, child: Consumer( builder: (BuildContext context, ServiceVM model, Widget? child) { if (model.state == ViewState.busy) { return const Center(child: CircularProgressIndicator()); } else { return model.branches!.data == null ? const Center(child: Text("No Branch Found")) : model.branches!.data!.serviceProviderBranch != null && model.branches!.data!.serviceProviderBranch!.isEmpty ? Center(child: Text(LocaleKeys.no_branch.tr())) : ListView.builder( itemCount: model.branches!.data!.serviceProviderBranch!.length, scrollDirection: Axis.horizontal, shrinkWrap: true, itemBuilder: (BuildContext context, int index) { return SizedBox( width: 90, child: Column( children: [ Image.asset( MyAssets.bnCar, width: 80, height: 80, fit: BoxFit.cover, ).toCircle(borderRadius: 100), 8.height, model.branches!.data!.serviceProviderBranch![index].branchName!.toText( fontSize: 14, isBold: true, textAlign: TextAlign.center, ), ], ), ).onPress( () { model.branches!.data!.serviceProviderBranch![index].countryID = model.branches!.data!.countryID; model.branches!.data!.serviceProviderBranch![index].countryName = model.branches!.data!.countryName; navigateWithName(context, ProviderAppRoutes.branchDetail, arguments: model.branches!.data!.serviceProviderBranch![index]); }, ); }, ); } }, ), ); } }