Update QuizRunner to include EntryDetail type and add ig_meta field

This commit is contained in:
2026-01-08 01:10:20 +01:00
parent 3876213ce9
commit ea76055d1d

View File

@@ -1,6 +1,6 @@
import { useEffect, useMemo, useState } from 'react';
import { fetchEntries, fetchEntry } from '../api';
import type { EntryItems, EntrySummary, QuizQuestionWithEntry } from '../types';
import type { EntryDetail, EntryItems, EntrySummary, QuizQuestionWithEntry } from '../types';
import VideoPlayer from './VideoPlayer';
type Mode = 'all' | 'selected' | 'single';
@@ -246,7 +246,7 @@ export default function QuizRunner({ defaultMode = 'all', defaultEntryId, autoSt
try {
const uniqueIds = Array.from(new Set(ids));
const details = await Promise.all(uniqueIds.map((id) => fetchEntry(id)));
const details: EntryDetail[] = await Promise.all(uniqueIds.map((id) => fetchEntry(id)));
const pool: QuizQuestionWithEntry[] = details.flatMap((entry) => {
const safeItems: EntryItems = entry.items || { grammar: [], vocab: [], conversation: [], key_phrases: [] };
return (entry.quiz || []).map((q) => ({
@@ -255,6 +255,7 @@ export default function QuizRunner({ defaultMode = 'all', defaultEntryId, autoSt
entryTitle: entry.title,
items: safeItems,
video_url: entry.video_url,
ig_meta: entry.ig_meta,
targets: q.targets || [],
type: q.type || 'unknown',
payload: q.payload || {},