ENGLISH·COURSE API
    Preparing search index...

    The signed-in learner's state as the browser holds it.

    Collections are replaced, never mutated, so a reader can compare them by identity: useSyncExternalStore re-renders only when a slice really changed.

    type LearnerState = {
        isSeeded: boolean;
        continueWatching: ReadonlyArray<ContinueWatchingRecord>;
        earnedTickets: ReadonlySet<string>;
        claimedPrizes: ReadonlySet<string>;
        enrolledCourses: ReadonlySet<string>;
    }
    Index

    Properties

    isSeeded: boolean

    false until the server's snapshot has been adopted in this browser.

    continueWatching: ReadonlyArray<ContinueWatchingRecord>

    One record per course the learner has opened, the most recently watched first.

    earnedTickets: ReadonlySet<string>

    Lessons whose ticket was earned; kept even when the lesson is un-marked.

    claimedPrizes: ReadonlySet<string>

    Modules whose prize was claimed on the counter.

    enrolledCourses: ReadonlySet<string>

    Courses the learner has enrolled in.