ENGLISH·COURSE API
    Preparing search index...
    • Every ticket the signed-in learner has earned, as one snapshot of lesson ids.

      Returns ReadonlySet<string>

      A stable set of lesson ids; empty before hydration

      A ticket is saved the first time its lesson counts as complete and is kept from then on, which is what lets a learner un-mark a lesson without losing what they earned. Completion itself stays in its own store, so the lesson rows keep telling the truth about where the learner is now.

      Browser-side only — do NOT call from a Server Component.