ENGLISH·COURSE API
    Preparing search index...
    • The install guide, playing itself: the four steps on a loop, and a drag to move it by hand.

      Parameters

      • props: GuideAutoplayProps

        See GuideAutoplayProps

      Returns Element

      The guide as a labelled group, cycling through the steps and answering a horizontal drag

      It is the prototype video's pacing, rebuilt from components so that the iOS labels it shows can be translated — the one thing the rendered MP4 could never do. A self-paced stepper was built alongside it and compared; this one was kept, and the other deleted.

      What it buys is that the learner does nothing: the flow just runs. What that costs is the learner who looks away — at the «···» they were sent to find, or at Safari's own menu covering the page — and comes back to a guide that has moved on. Two things answer that. It says which step is showing and how many there are, rather than looping anonymously; and a horizontal drag moves it a frame either way, so the frame they missed is one gesture back rather than a whole loop away.

      The gesture is a nudge, not a takeover. There is no pause, and no manual mode to get stranded in: the loop plays on, and the frame the learner landed on simply gets a full interval of its own before it does — which is what the per-frame timer below is for.

      The steps come from INSTALL_STEPS.

      Under prefers-reduced-motion it does not advance at all. The preference is read after mount — it cannot be known while rendering on the server — so the first step is painted either way and only the movement is conditional. The drag keeps working there, and is the only thing that does: the preference silences motion the learner did not ask for, and this is the motion they did.

      It holds no dismissal state; onDismiss hands that to the caller.

      <GuideAutoplay onDismiss={() => setGuideHidden(true)} />