2026-03-09 11:18:22 +01:00
|
|
|
<script lang="ts">
|
2026-03-22 18:42:23 +01:00
|
|
|
import type { ExerciseQuestionRendererProps } from '@cio/question-types';
|
2026-03-09 11:18:22 +01:00
|
|
|
import { getOptionImageUrl, hasOptionImages } from '../option-image-utils';
|
2026-03-22 18:42:23 +01:00
|
|
|
import McqPreviewOptionRow from '../shared/mcq-preview-option-row.svelte';
|
2026-03-09 11:18:22 +01:00
|
|
|
|
|
|
|
|
let { question, labels }: ExerciseQuestionRendererProps = $props();
|
|
|
|
|
|
|
|
|
|
const optionsHaveImages = $derived(hasOptionImages(question.options));
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<div class="ui:space-y-2">
|
|
|
|
|
<ul class={optionsHaveImages ? 'ui:grid ui:grid-cols-2 ui:gap-3' : 'ui:space-y-1'}>
|
|
|
|
|
{#each question.options ?? [] as option, index}
|
2026-03-22 18:42:23 +01:00
|
|
|
<McqPreviewOptionRow {option} {index} optionImageUrl={getOptionImageUrl(option)} {optionsHaveImages} {labels} />
|
2026-03-09 11:18:22 +01:00
|
|
|
{/each}
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|