Completed the flow
parent
6cd1e29998
commit
4ec93e8609
@ -0,0 +1,294 @@
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_bp_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_ecg_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_glucose_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_oxi_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_temperature_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/medical/my_trackers/my_trackers_view_model/my_trackers_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class CheckMeAllInOneInfoScreen extends StatelessWidget {
|
||||
final TrackerTypeEnum allInOneTrackerTypeEnum;
|
||||
|
||||
const CheckMeAllInOneInfoScreen(this.allInOneTrackerTypeEnum);
|
||||
|
||||
String getTrackerNameByEnum(TrackerTypeEnum trackerTypeEnum) {
|
||||
switch (trackerTypeEnum) {
|
||||
case TrackerTypeEnum.OxymeterTracker:
|
||||
return "Oxymeter";
|
||||
|
||||
case TrackerTypeEnum.BloodPressureTracker:
|
||||
return "Blood Pressure";
|
||||
|
||||
case TrackerTypeEnum.BloodSugarTracker:
|
||||
return "Blood Glucose";
|
||||
|
||||
case TrackerTypeEnum.ECGTracker:
|
||||
return "ECG";
|
||||
|
||||
case TrackerTypeEnum.WeightScale:
|
||||
return "Weight Scale";
|
||||
|
||||
case TrackerTypeEnum.Temperature:
|
||||
return "Temperature";
|
||||
|
||||
case TrackerTypeEnum.Spirometer:
|
||||
return "Spirometer";
|
||||
|
||||
case TrackerTypeEnum.AllInOneTracker:
|
||||
return "All in One";
|
||||
}
|
||||
return "All in One";
|
||||
}
|
||||
|
||||
Widget getAllInOneOperationWidgets(MyTrackersViewModel myTrackersVm, TrackerTypeEnum trackerTypeEnum, BuildContext context) {
|
||||
switch (trackerTypeEnum) {
|
||||
case TrackerTypeEnum.OxymeterTracker:
|
||||
return buildOxiWidget(myTrackersVm, context);
|
||||
|
||||
case TrackerTypeEnum.BloodPressureTracker:
|
||||
return buildBPWidget(myTrackersVm, context);
|
||||
|
||||
case TrackerTypeEnum.BloodSugarTracker:
|
||||
return buildGlucoseWidget(myTrackersVm, context);
|
||||
|
||||
case TrackerTypeEnum.ECGTracker:
|
||||
return buildECGWidget(myTrackersVm, context);
|
||||
|
||||
case TrackerTypeEnum.Temperature:
|
||||
return buildTemperatureWidget(myTrackersVm, context);
|
||||
|
||||
case TrackerTypeEnum.Spirometer:
|
||||
case TrackerTypeEnum.WeightScale:
|
||||
case TrackerTypeEnum.AllInOneTracker:
|
||||
return getNoDataWidget(context);
|
||||
}
|
||||
return getNoDataWidget(context);
|
||||
}
|
||||
|
||||
Widget buildTemperatureWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
if (myTrackersVm.filesLoader) ...[
|
||||
Center(child: CircularProgressIndicator())
|
||||
] else if (myTrackersVm.checkMeTemperatures != null && myTrackersVm.checkMeTemperatures.isNotEmpty) ...[
|
||||
Material(
|
||||
child: ListView.separated(
|
||||
itemCount: myTrackersVm.checkMeTemperatures.length,
|
||||
separatorBuilder: (context, index) => SizedBox(height: 14),
|
||||
shrinkWrap: true,
|
||||
reverse: false,
|
||||
itemBuilder: (context, index) {
|
||||
CheckMeTemperatureModel checkMeTemp = myTrackersVm.checkMeTemperatures[index];
|
||||
return InkWell(
|
||||
onTap: () => Navigator.pop(context),
|
||||
child: Container(
|
||||
decoration: cardRadius(12),
|
||||
padding: EdgeInsets.all(12.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text("Temperature: ${checkMeTemp.tmp}"),
|
||||
mHeight(4.0),
|
||||
Text("Date: ${checkMeTemp.date}"),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
)
|
||||
] else ...[
|
||||
getNoDataWidget(context),
|
||||
]
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget buildECGWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
if (myTrackersVm.filesLoader) ...[
|
||||
Center(child: CircularProgressIndicator())
|
||||
] else if (myTrackersVm.checkMeEcg != null && myTrackersVm.checkMeEcg.isNotEmpty) ...[
|
||||
Material(
|
||||
child: ListView.separated(
|
||||
itemCount: myTrackersVm.checkMeEcg.length,
|
||||
separatorBuilder: (context, index) => SizedBox(height: 14),
|
||||
shrinkWrap: true,
|
||||
reverse: false,
|
||||
itemBuilder: (context, index) {
|
||||
CheckMeECGModel checkMeECGModel = myTrackersVm.checkMeEcg[index];
|
||||
return InkWell(
|
||||
onTap: () => Navigator.pop(context),
|
||||
child: Container(
|
||||
decoration: cardRadius(12),
|
||||
padding: EdgeInsets.all(12.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text("Date: ${checkMeECGModel.date}"),
|
||||
mHeight(4.0),
|
||||
Text("way: ${checkMeECGModel.way}"),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
)
|
||||
] else ...[
|
||||
getNoDataWidget(context),
|
||||
]
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget buildOxiWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
if (myTrackersVm.filesLoader) ...[
|
||||
Center(child: CircularProgressIndicator())
|
||||
] else if (myTrackersVm.checkMeOxi != null && myTrackersVm.checkMeOxi.isNotEmpty) ...[
|
||||
Material(
|
||||
child: ListView.separated(
|
||||
itemCount: myTrackersVm.checkMeOxi.length,
|
||||
separatorBuilder: (context, index) => SizedBox(height: 14),
|
||||
shrinkWrap: true,
|
||||
reverse: false,
|
||||
itemBuilder: (context, index) {
|
||||
CheckMeOxiModel checkMeOxiModel = myTrackersVm.checkMeOxi[index];
|
||||
return InkWell(
|
||||
onTap: () => Navigator.pop(context),
|
||||
child: Container(
|
||||
decoration: cardRadius(12),
|
||||
padding: EdgeInsets.all(12.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text("PR: ${checkMeOxiModel.pr} PI: ${checkMeOxiModel.pi}"),
|
||||
mHeight(4.0),
|
||||
Text("Oxi: ${checkMeOxiModel.oxy}"),
|
||||
mHeight(4.0),
|
||||
Text("Date: ${checkMeOxiModel.date}"),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
)
|
||||
] else ...[
|
||||
getNoDataWidget(context),
|
||||
]
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget buildBPWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
if (myTrackersVm.filesLoader) ...[
|
||||
Center(child: CircularProgressIndicator())
|
||||
] else if (myTrackersVm.checkMeBP != null && myTrackersVm.checkMeBP.isNotEmpty) ...[
|
||||
Material(
|
||||
child: ListView.separated(
|
||||
itemCount: myTrackersVm.checkMeBP.length,
|
||||
separatorBuilder: (context, index) => SizedBox(height: 14),
|
||||
shrinkWrap: true,
|
||||
reverse: false,
|
||||
itemBuilder: (context, index) {
|
||||
CheckMeBPModel checkMeBPModel = myTrackersVm.checkMeBP[index];
|
||||
return InkWell(
|
||||
onTap: () => Navigator.pop(context),
|
||||
child: Container(
|
||||
decoration: cardRadius(12),
|
||||
padding: EdgeInsets.all(12.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text("DIA: ${checkMeBPModel.dia} SYS: ${checkMeBPModel.sys}"),
|
||||
mHeight(4.0),
|
||||
Text("PR: ${checkMeBPModel.pr}"),
|
||||
mHeight(4.0),
|
||||
Text("Date: ${checkMeBPModel.date}"),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
)
|
||||
] else ...[
|
||||
getNoDataWidget(context),
|
||||
]
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget buildGlucoseWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
if (myTrackersVm.filesLoader) ...[
|
||||
Center(child: CircularProgressIndicator())
|
||||
] else if (myTrackersVm.checkMeGlucose != null && myTrackersVm.checkMeGlucose.isNotEmpty) ...[
|
||||
Material(
|
||||
child: ListView.separated(
|
||||
itemCount: myTrackersVm.checkMeGlucose.length,
|
||||
separatorBuilder: (context, index) => SizedBox(height: 14),
|
||||
shrinkWrap: true,
|
||||
reverse: false,
|
||||
itemBuilder: (context, index) {
|
||||
CheckMeGlucoseModel checkMeGlucoseModel = myTrackersVm.checkMeGlucose[index];
|
||||
return InkWell(
|
||||
onTap: () => Navigator.pop(context),
|
||||
child: Container(
|
||||
decoration: cardRadius(12),
|
||||
padding: EdgeInsets.all(12.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text("Glucose: ${checkMeGlucoseModel.glu}"),
|
||||
mHeight(4.0),
|
||||
Text("Date: ${checkMeGlucoseModel.date}"),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
)
|
||||
] else ...[
|
||||
getNoDataWidget(context),
|
||||
]
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppScaffold(
|
||||
appBarTitle: "${getTrackerNameByEnum(allInOneTrackerTypeEnum)}",
|
||||
showNewAppBar: true,
|
||||
isShowDecPage: false,
|
||||
showNewAppBarTitle: true,
|
||||
backgroundColor: Color(0xffF8F8F8),
|
||||
body: Padding(
|
||||
padding: const EdgeInsets.all(24.0),
|
||||
child: Consumer(
|
||||
builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget child) {
|
||||
return getAllInOneOperationWidgets(myTrackersVm, allInOneTrackerTypeEnum, context);
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue