ENGLISH·COURSE API
    Preparing search index...
    • Decides which state a module's progress panel is in, and the lesson its primary action should open.

      Parameters

      • input: ModuleProgressInput

        The module's lessons in sequence order and the learner's marks and positions

      Returns ModuleProgress

      The module's progress state

      Completion uses countsAsComplete, the rule every other progress indicator uses, so the panel can never disagree with a lesson row or a module meter. Time left in a lesson is its runtime minus its saved position; time left in the module is that remainder summed over every lesson not yet complete.

      const progress = moduleProgress({ lessons, completedIds, positions });
      if (progress.kind === "in-progress") console.log(progress.target.title);