Entracte (TypeScript)
    Preparing search index...

    Type Alias BreakMilestone

    BreakMilestone: "halfway" | "one-minute" | "ten-seconds" | "end" | null

    Discrete milestones the break-timer announces, picked so a screen reader hears about progress without the per-second chatter that a live region on the countdown itself would produce.

    Order of dominance (highest wins) — exactly one fires per render:

    1. end — break is finished or remaining hits 0
    2. ten-seconds — final stretch
    3. one-minute — only if the break is longer than 60 seconds (otherwise we'd announce it immediately on start, which is noise)
    4. halfway — only if the break is longer than 60 seconds; for a 70-second break the one-minute milestone fires first and swallows the halfway window, which is desired behaviour
    5. null — no milestone reached yet