ENGLISH·COURSE API
    Preparing search index...

    Variable

    findContinueWatchingActionConst

    findContinueWatchingAction: SafeActionFn<
        string,
        ZodObject<
            {
                courseSlug: $ZodBranded<ZodString, "Slug", "out">;
                moduleSlug: $ZodBranded<ZodString, "Slug", "out">;
                lessonId: $ZodBranded<ZodUUID, "LessonId", "out">;
            },
            $strip,
        >,
        readonly [],
        {} & { courseSlug?: {}; moduleSlug?: {}; lessonId?: {} },
        ContinueWatchingPanel | null,
    > = ...

    Server Action invoked by the home's ContinueWatching component with the location it read from localStorage.

    The client holds identity — a course slug, a module slug and a lesson id — and the domain owns everything else, so a retitled lesson shows its new title without any stored copy going stale.

    A location that no longer resolves returns data: null, not an error. Lessons get renamed, moved and removed while a device still holds a record pointing at them; that is an ordinary outcome, and the home's answer to it is to render nothing. Reserving validationErrors for genuinely malformed input keeps the two distinguishable.

    { data: ContinueWatchingPanel | null }; validationErrors when the stored location does not satisfy the schema