ENGLISH·COURSE API
    Preparing search index...
    InstallPath:
        | { kind: "none" }
        | { kind: "guide" }
        | { kind: "ipad-guide" }
        | { kind: "mac-guide" }
        | { kind: "prompt"; accept: () => void }

    The way this browser can get the app onto the learner's home screen, if any.

    Type Declaration

    • { kind: "none" }
    • { kind: "guide" }
    • { kind: "ipad-guide" }
    • { kind: "mac-guide" }
    • { kind: "prompt"; accept: () => void }
      • Readonlykind: "prompt"
      • Readonlyaccept: () => void

        Opens the browser's install dialog. Call it from the learner's gesture.

    A union rather than a boolean, because the ways in are not interchangeable: one performs the install, and the other three can only describe it — each on a different device, with different taps on differently shaped surfaces.

    accept rides along on the path that has it, so the header never has to ask a second hook for it and risk holding a different browser offer than the one it is showing.