ENGLISH·COURSE API
    Preparing search index...
    UnmarkLessonModal: FC<NiceModalHocProps> = ...

    Asks the learner to confirm un-marking a lesson they had completed.

    Shown imperatively with await NiceModal.show(UnmarkLessonModal), which resolves true when the learner confirms and false on every other way out — the cancel button, the close control, Escape, the overlay. The caller therefore branches on one boolean and owns the write; this component owns only the question.

    The copy names all four consequences rather than asking "are you sure?": progress meters drop, the outline's mark disappears, watching the lesson to the end again re-marks it (the finish threshold is a second producer of completion), and the saved playback position survives. A learner cannot weigh an undo whose effects are not spelled out.

    const confirmed = await NiceModal.show(UnmarkLessonModal);
    if (confirmed) await unmarkLessonComplete(lessonId);