import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/models/Appointments/DentalChiefComplaintsModel.dart'; import 'package:diplomaticquarterapp/models/Appointments/SearchInfoModel.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DentalComplaintCard.dart'; import 'package:diplomaticquarterapp/pages/livecare/widgets/clinic_card.dart'; import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart'; import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; class DentalComplaints extends StatefulWidget { SearchInfo searchInfo; DentalComplaints({@required this.searchInfo}); @override _DentalComplaintsState createState() => _DentalComplaintsState(); } class _DentalComplaintsState extends State { List complaintsList = []; AppSharedPreferences sharedPref = AppSharedPreferences(); bool isDataLoaded = false; var languageID; @override void initState() { WidgetsBinding.instance.addPostFrameCallback((_) => getChiefComplaintsList()); super.initState(); } @override Widget build(BuildContext context) { return AppScaffold( isShowAppBar: true, appBarTitle: "Symptoms", showNewAppBar: true, showNewAppBarTitle: true, backgroundColor: CustomColors.appBackgroudGreyColor, body: Container( child: ListView.separated( itemCount: complaintsList.length, itemBuilder: (BuildContext context, int index) { return Container( child: DentalComplaintCard( listDentalChiefComplain: complaintsList[index], languageID: languageID, ), ); }, separatorBuilder: (BuildContext context, int index) { return Padding( padding: const EdgeInsets.only(left: 14,right: 14), child: mDivider(Colors.grey), ); }, ), ), ); } getLanguageID() async { languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); } getChiefComplaintsList() { GifLoaderDialogUtils.showMyDialog(context); getLanguageID(); ClinicListService service = new ClinicListService(); service.getChiefComplaintsList(widget.searchInfo.ClinicID, widget.searchInfo.ProjectID, context).then((res) { GifLoaderDialogUtils.hideDialog(context); if (res['MessageStatus'] == 1) { print(res['List_DentalChiefComplain']); setState(() { res['List_DentalChiefComplain'].forEach((v) { complaintsList.add(new ListDentalChiefComplain.fromJson(v)); }); print(complaintsList.length); }); } else {} }).catchError((err) { GifLoaderDialogUtils.hideDialog(context); print(err); }); } }