diff --git a/packages/ui/src/custom/public-course/exercise-view.svelte b/packages/ui/src/custom/public-course/exercise-view.svelte index 249922dd..53fe14a7 100644 --- a/packages/ui/src/custom/public-course/exercise-view.svelte +++ b/packages/ui/src/custom/public-course/exercise-view.svelte @@ -13,6 +13,7 @@ import { QuestionList } from '../exercise-question'; import { cn } from '../../tools'; import Callout from './callout.svelte'; + import { SafeHtmlContent } from '../safe-html-content'; import type { PublicCourseCalloutAnimation, PublicCourseCalloutData, PublicExerciseViewData } from './types'; import type { PublicExerciseStoredAttempt } from './public-exercise-attempts-storage'; import { @@ -401,7 +402,9 @@ {#if exercise.description} -

{exercise.description}

+
+ +
{/if}
diff --git a/packages/ui/src/custom/public-course/types.ts b/packages/ui/src/custom/public-course/types.ts index e85988bf..bc6624f1 100644 --- a/packages/ui/src/custom/public-course/types.ts +++ b/packages/ui/src/custom/public-course/types.ts @@ -81,6 +81,7 @@ export interface PublicLessonViewData { export interface PublicExerciseViewData { kind: 'exercise'; title: string; + /** Rich-text HTML (as produced by the exercise description editor). */ description: string | null; sectionTitle: string | null; isUnlocked: boolean;