Skip to content

Commit ed76048

Browse files
committed
revert: undo unintended master changes
1 parent 608922b commit ed76048

7 files changed

Lines changed: 9 additions & 107 deletions

File tree

.github/workflows/ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Setup Bun
2727
uses: oven-sh/setup-bun@v2
2828
with:
29-
bun-version: 1.3.6
29+
bun-version: 1.3.5
3030

3131
- name: Cache Bun downloads
3232
uses: actions/cache@v4
@@ -59,7 +59,7 @@ jobs:
5959
- name: Setup Bun
6060
uses: oven-sh/setup-bun@v2
6161
with:
62-
bun-version: 1.3.6
62+
bun-version: 1.3.5
6363

6464
- name: Check translation coverage
6565
run: |
@@ -77,7 +77,7 @@ jobs:
7777
- name: Setup Bun
7878
uses: oven-sh/setup-bun@v2
7979
with:
80-
bun-version: 1.3.6
80+
bun-version: 1.3.5
8181

8282
- name: Scan for hardcoded strings
8383
run: |
@@ -99,7 +99,7 @@ jobs:
9999
- name: Setup Bun
100100
uses: oven-sh/setup-bun@v2
101101
with:
102-
bun-version: 1.3.6
102+
bun-version: 1.3.5
103103

104104
- name: Cache Bun downloads
105105
uses: actions/cache@v4
@@ -131,7 +131,7 @@ jobs:
131131
- name: Setup Bun
132132
uses: oven-sh/setup-bun@v2
133133
with:
134-
bun-version: 1.3.6
134+
bun-version: 1.3.5
135135

136136
- name: Cache Bun downloads
137137
uses: actions/cache@v4

.github/workflows/deploy-pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Setup Bun
3333
uses: oven-sh/setup-bun@v2
3434
with:
35-
bun-version: 1.3.6
35+
bun-version: 1.3.5
3636

3737
- name: Cache Bun downloads
3838
uses: actions/cache@v4

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
- name: Setup Bun
5454
uses: oven-sh/setup-bun@v2
5555
with:
56-
bun-version: 1.3.6
56+
bun-version: 1.3.5
5757

5858
- name: Cache Bun downloads
5959
uses: actions/cache@v4

bun.lock

Lines changed: 0 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/qti2-example/src/routes/assessment-demo/+page.svelte

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
let uploadError = $state<string | null>(null);
2020
let results = $state<AssessmentResults | null>(null);
2121
let runKey = $state(0);
22-
let showCorrectAnswers = $state(false);
2322
2423
type DisplayItemScore = {
2524
id: string;
@@ -123,7 +122,6 @@
123122
124123
function handleRetake() {
125124
results = null;
126-
showCorrectAnswers = false;
127125
runKey += 1;
128126
}
129127
@@ -150,13 +148,7 @@
150148
{#if selectedAssessment}
151149
<div class="player-section">
152150
{#if results}
153-
<AssessmentEndScreen
154-
{results}
155-
items={displayItemScores}
156-
assessment={selectedAssessment}
157-
bind:showCorrectAnswers
158-
onRetake={handleRetake}
159-
/>
151+
<AssessmentEndScreen {results} items={displayItemScores} onRetake={handleRetake} />
160152
{:else}
161153
{#key `${selectedAssessment.id}:${runKey}`}
162154
<AssessmentShell

packages/qti2-example/src/routes/assessment-demo/components/AssessmentEndScreen.svelte

Lines changed: 1 addition & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
11
<script lang="ts">
22
import type { AssessmentResults } from '@pie-qti/qti2-assessment-player';
3-
import { registerDefaultComponents } from '@pie-qti/qti2-default-components';
4-
import { typesetMathInElement } from '@pie-qti/qti2-typeset-katex';
5-
// @ts-expect-error - Svelte-check can't resolve workspace subpath exports, but runtime works correctly
6-
import { ItemBody } from '@pie-qti/qti2-item-player/components';
7-
import { Player } from '@pie-qti/qti2-item-player';
8-
import type { SampleAssessment } from '$lib/sample-assessments';
9-
import { typesetAction } from '@pie-qti/qti2-default-components/shared';
10-
import { getSecurityConfig } from '$lib/player-config';
113
124
type DisplayItemScore = {
135
id: string;
@@ -20,36 +12,10 @@
2012
interface Props {
2113
results: AssessmentResults;
2214
items: DisplayItemScore[];
23-
assessment: SampleAssessment;
24-
showCorrectAnswers: boolean;
2515
onRetake?: () => void;
2616
}
2717
28-
let { results, items, assessment, showCorrectAnswers = $bindable(), onRetake }: Props = $props();
29-
30-
const itemXmlById = $derived.by(() => {
31-
const map = new Map<string, string>();
32-
for (const tp of assessment.assessment.testParts || []) {
33-
for (const section of tp.sections || []) {
34-
for (const q of section.questionRefs || []) {
35-
map.set(q.identifier, q.itemXml);
36-
}
37-
}
38-
}
39-
return map;
40-
});
41-
42-
const itemResultsById = $derived.by(() => new Map(results.itemResults.map((r) => [r.itemIdentifier, r])));
43-
44-
function createScorerPlayer(itemXml: string) {
45-
const p = new Player({
46-
itemXml,
47-
role: 'scorer',
48-
security: getSecurityConfig(),
49-
});
50-
registerDefaultComponents(p.getComponentRegistry());
51-
return p;
52-
}
18+
const { results, items, onRetake }: Props = $props();
5319
</script>
5420

5521
<div class="card bg-base-100">
@@ -95,53 +61,6 @@
9561
</div>
9662
</div>
9763

98-
<div class="divider"></div>
99-
100-
<div class="form-control">
101-
<label class="label cursor-pointer justify-start gap-4">
102-
<input type="checkbox" class="checkbox checkbox-primary" bind:checked={showCorrectAnswers} />
103-
<div>
104-
<span class="label-text font-semibold">Show correct answers</span>
105-
<p class="label-text-alt text-xs">
106-
Displays the scorer view for each item (read-only), with correct responses and your submitted responses.
107-
</p>
108-
</div>
109-
</label>
110-
</div>
111-
112-
{#if showCorrectAnswers}
113-
<div class="mt-4 space-y-6">
114-
{#each results.itemResults as r (r.itemIdentifier)}
115-
{@const itemXml = itemXmlById.get(r.itemIdentifier)}
116-
{#if itemXml}
117-
{@const player = createScorerPlayer(itemXml)}
118-
<div class="card bg-base-200" use:typesetAction={{ typeset: (el) => typesetMathInElement(el) }}>
119-
<div class="card-body">
120-
<div class="flex items-baseline justify-between gap-4">
121-
<h3 class="font-semibold">
122-
{items.find((i) => i.id === r.itemIdentifier)?.title ?? r.itemIdentifier}
123-
</h3>
124-
<div class="text-sm opacity-70 font-mono">{r.score} / {r.maxScore}</div>
125-
</div>
126-
127-
<ItemBody
128-
player={player}
129-
responses={r.responses}
130-
disabled={true}
131-
role="scorer"
132-
typeset={typesetMathInElement}
133-
/>
134-
</div>
135-
</div>
136-
{:else}
137-
<div class="alert alert-warning">
138-
Missing item XML for <code>{r.itemIdentifier}</code>.
139-
</div>
140-
{/if}
141-
{/each}
142-
</div>
143-
{/if}
144-
14564
<div class="card-actions justify-end mt-6">
14665
<button class="btn btn-primary" type="button" onclick={() => onRetake?.()}>Retake assessment</button>
14766
</div>

packages/qti2-example/src/routes/item-demo/[sample]/components/QuestionPanel.svelte

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@
8484
{player}
8585
{responses}
8686
{disabled}
87-
{role}
8887
i18n={i18n ?? undefined}
8988
typeset={typesetMathInElement}
9089
{onResponseChange}

0 commit comments

Comments
 (0)