getCurrentPhaseName method

Future<String> getCurrentPhaseName()

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;
}