{t("cycle.loadError")}
{/* Beyond the typical length plus the server's grace window the count stops being an observed fact, so the server resolves OVERDUE and says how late; this caption reports that instead of the "of your cycle" tagline under an empty ring. */} {verdict?.state === "OVERDUE" ? verdict.overdueDays != null ? t("cycle.ring.periodOverdueDays", { days: verdict.overdueDays, }) : t("cycle.ring.periodOverdue") : // The ring shows the bare number; the caption under it // reads as a whole phrase ("Tag 9 deines Zyklus"), not // a fragment hanging off the ring. verdict?.dayOfCycle != null ? t("cycle.insightsSummary.currentDay", { day: verdict.dayOfCycle, }) : t("cycle.ring.caption")}
) : null} {/* Log CTA — first period when no cycle exists yet, next period when the count paused on an overdue cycle. */} {canManageCycle && !loading && !calendarError && verdict?.dayOfCycle == null ? ( ) : null}{t("cycle.calendar.loading")}
) : calendarError ? ( // Inside the calendar card already — a borderless row keeps // it in line with the plain loading line above it (§3/§6).