- Added `AssignCoursesModal`, `AudienceMemberRow`, `AudienceTable`, and related components for improved audience management UI. - Implemented audience invite actions including resend and revoke functionality. - Updated audience API to support importing members and assigning courses. - Refactored audience data handling to include status and invite management. - Improved overall user experience with pagination and selection features in the audience table.
18 lines
717 B
Svelte
18 lines
717 B
Svelte
<script lang="ts">
|
|
import type { ExerciseQuestionRendererProps } from '@cio/question-types';
|
|
import { getOptionImageUrl, hasOptionImages } from '../option-image-utils';
|
|
import McqPreviewOptionRow from '../shared/mcq-preview-option-row.svelte';
|
|
|
|
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}
|
|
<McqPreviewOptionRow {option} {index} optionImageUrl={getOptionImageUrl(option)} {optionsHaveImages} {labels} />
|
|
{/each}
|
|
</ul>
|
|
</div>
|