Baby age in ovulation period

merge-requests/362/head
hussam al-habibeh 3 years ago
parent b9d4195e20
commit 864f849425

@ -19,6 +19,7 @@ class OvulationPeriod extends StatefulWidget {
class _OvulationPeriodState extends State<OvulationPeriod> {
DateTime bloodSugarDate = DateTime.now();
DateTime timeSugarDate = DateTime.now();
DateTime selectedDateTime = DateTime.now();
int cycleLength = 0;
int lutealPhaseLength = 0;
String selectedDate;
@ -37,13 +38,30 @@ class _OvulationPeriodState extends State<OvulationPeriod> {
}
String getDate() {
return "${DateUtil.getMonth(bloodSugarDate.month)} ${bloodSugarDate.day}, ${bloodSugarDate.year}";
return "${DateUtil.getMonth(selectedDateTime.month)} ${selectedDateTime.day}, ${selectedDateTime.year}";
}
// void calculate() {}
//
// void calculateFertility(DateTime selectedDate) {const diff = Date.}
calculateBabyInformation() {
setState(() {
bloodSugarDate = selectedDateTime;
dateFrom = selectedDateTime.add(Duration(days: 10));
updatedDt = DateFormat.yMMMEd().format(dateFrom);
dateTo = selectedDateTime.add(Duration(days: 20));
conceivedDate = selectedDateTime.add(Duration(days: 14));
deliveryDue = selectedDateTime.add(Duration(days: 280));
// babyAge = Jiffy([DateTime.now()]).diff(Jiffy([date]), Units.WEEK);
babyAgeWeeks = Jiffy([DateTime.now().year, DateTime.now().month, DateTime.now().day])
.diff(Jiffy([selectedDateTime.year, selectedDateTime.month, dateTo.day]), Units.WEEK);
babyAgeDays = Jiffy([DateTime.now().year, DateTime.now().month, DateTime.now().day])
.diff(Jiffy([selectedDateTime.year, selectedDateTime.month, dateTo.day]), Units.DAY);
});
}
@override
Widget build(BuildContext context) {
return AppScaffold(
@ -78,18 +96,7 @@ class _OvulationPeriodState extends State<OvulationPeriod> {
onConfirm: (date) {
print('confirm $date');
setState(() {
bloodSugarDate = date;
dateFrom = date.add(Duration(days: 10));
updatedDt = DateFormat.yMMMEd().format(dateFrom);
dateTo = date.add(Duration(days: 20));
conceivedDate = date.add(Duration(days: 14));
deliveryDue = date.add(Duration(days: 280));
// babyAge = Jiffy([DateTime.now()]).diff(Jiffy([date]), Units.WEEK);
babyAgeWeeks = Jiffy([DateTime.now().year, DateTime.now().month, DateTime.now().day])
.diff(Jiffy([date.year, date.month, dateTo.day]), Units.WEEK);
babyAgeDays = Jiffy([DateTime.now().year, DateTime.now().month, DateTime.now().day])
.diff(Jiffy([date.year, date.month, dateTo.day]), Units.DAY);
selectedDateTime = date;
});
},
currentTime: DateTime.now(),
@ -321,22 +328,19 @@ class _OvulationPeriodState extends State<OvulationPeriod> {
child: SecondaryButton(
label: 'CALCULATE',
onTap: () {
setState(() {
{
Navigator.push(
context,
FadePage(
page: OvulationResult(
conceivedDate: conceivedDate,
dateFrom: dateFrom,
dateTo: dateTo,
deliveryDue: deliveryDue,
babyAge: babyAgeWeeks,
babyAgeDays: babyAgeDays,
)),
);
}
});
calculateBabyInformation();
Navigator.push(
context,
FadePage(
page: OvulationResult(
conceivedDate: conceivedDate,
dateFrom: dateFrom,
dateTo: dateTo,
deliveryDue: deliveryDue,
babyAge: babyAgeWeeks,
babyAgeDays: babyAgeDays,
)),
);
},
),
),

@ -78,7 +78,7 @@ class OvulationResult extends StatelessWidget {
fontWeight: FontWeight.w400,
),
Texts(
babyAge.toString() + " Weeks," + "2",
babyAge <= 0 ? "baby age is not available" : babyAge.toString() + " Weeks," + "3",
fontWeight: FontWeight.w800,
fontSize: 21.0,
),

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/qr_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
@ -9,11 +10,13 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:maps_launcher/maps_launcher.dart';
import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:provider/provider.dart';
import '../../d_q_icons_icons.dart';
class ParkingPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<QrViewModel>(
onModelReady: (model) => model.getIsSaveParking(),
builder: (_, model, widget) => AppScaffold(
@ -21,10 +24,7 @@ class ParkingPage extends StatelessWidget {
appBarTitle: TranslationBase.of(context).parking,
description: TranslationBase.of(context).parkingDescription,
imagesInfo: [
ImagesInfo(
imageAr: 'assets/images/bc_parking.png',
imageEn: 'assets/images/bc_parking.png',
isAsset: true)
ImagesInfo(imageAr: 'assets/images/bc_parking.png', imageEn: 'assets/images/bc_parking.png', isAsset: true)
],
body: SingleChildScrollView(
padding: EdgeInsets.all(12),
@ -50,7 +50,9 @@ class ParkingPage extends StatelessWidget {
Row(
children: <Widget>[
Expanded(
child: Container(child: Icon(/*Icons.landscape*/DQIcons.parking_icon,size: 130),),
child: Container(
child: Icon(/*Icons.landscape*/ DQIcons.parking_icon, size: 130),
),
),
SizedBox(
width: 15,
@ -85,15 +87,15 @@ class ParkingPage extends StatelessWidget {
padding: EdgeInsets.all(8),
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
shape: BoxShape.rectangle),
borderRadius: BorderRadius.circular(10), color: Colors.white, shape: BoxShape.rectangle),
height: 70,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(TranslationBase.of(context).showMyPark),
Texts(model.qrParkingModel.floorDescriptionN),
Texts(projectViewModel.isArabic
? model.qrParkingModel.floorDescriptionN
: model.qrParkingModel.floorDescription),
],
),
),
@ -102,9 +104,7 @@ class ParkingPage extends StatelessWidget {
),
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
shape: BoxShape.rectangle),
borderRadius: BorderRadius.circular(10), color: Colors.white, shape: BoxShape.rectangle),
padding: EdgeInsets.all(8),
width: double.infinity,
height: 70,
@ -112,7 +112,9 @@ class ParkingPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(TranslationBase.of(context).gate),
Texts(model.qrParkingModel.gateDescriptionN),
Texts(projectViewModel.isArabic
? model.qrParkingModel.gateDescriptionN
: model.qrParkingModel.gateDescription),
],
),
),
@ -121,9 +123,7 @@ class ParkingPage extends StatelessWidget {
),
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
shape: BoxShape.rectangle),
borderRadius: BorderRadius.circular(10), color: Colors.white, shape: BoxShape.rectangle),
padding: EdgeInsets.all(8),
width: double.infinity,
height: 70,
@ -131,7 +131,9 @@ class ParkingPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(TranslationBase.of(context).building),
Texts(model.qrParkingModel.buildingDescriptionN),
Texts(projectViewModel.isArabic
? model.qrParkingModel.buildingDescriptionN
: model.qrParkingModel.buildingDescription),
],
),
),
@ -141,16 +143,16 @@ class ParkingPage extends StatelessWidget {
Container(
padding: EdgeInsets.all(8),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
shape: BoxShape.rectangle),
borderRadius: BorderRadius.circular(10), color: Colors.white, shape: BoxShape.rectangle),
width: double.infinity,
height: 70,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(TranslationBase.of(context).branch),
Texts(model.qrParkingModel.branchDescriptionN),
Texts(projectViewModel.isArabic
? model.qrParkingModel.branchDescriptionN
: model.qrParkingModel.branchDescription),
],
),
),

Loading…
Cancel
Save