getCurrentPhaseName method
get current phase name based on cycle day
Implementation
Future<String> getCurrentPhaseName() async {
int currentCycleDay = await getCurrentCycleDay();
int cycleLength = getCycleLength();
int menstruationDayCount = getPeriodDuration();
int follicularEnd = menstruationDayCount + defaultFollicularDay;
int ovulationEnd = follicularEnd + defaultOvulationDay;
if (currentCycleDay <= 0) return "";
if (currentCycleDay <= menstruationDayCount) {
return WidgetBaseLanguage.menstruationLabel;
}
if (currentCycleDay <= follicularEnd) {
return WidgetBaseLanguage.follicularPhaseLabel;
}
if (currentCycleDay <= ovulationEnd) {
return WidgetBaseLanguage.ovulationLabel;
}
if (currentCycleDay <= cycleLength) {
return WidgetBaseLanguage.lutealPhaseLabel;
}
return WidgetBaseLanguage.latePeriodLabel;
}