import { Link } from "@tanstack/react-router"; import { Button } from "@pram/ui/components/button"; import { Card, CardContent, CardHeader } from "@pram/ui/components/card"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; import type { GenerationResult } from "@pram/ai"; interface ResultSectionProps { result: GenerationResult; generatedPackageId: string | null; onClear?: () => void; } export function ResultSection({ result, generatedPackageId, onClear }: ResultSectionProps) { return (

Hasil Generate

Paket latihan berhasil dibuat! Soal juga tersimpan di Bank Soal (privat). Jawaban & penjelasan disembunyikan agar latihan tetap fair.

{generatedPackageId && ( onClear?.()}> )} onClear?.()}>
Model: {result.meta.model} · Tokens: {result.meta.tokensUsed ?? "?"} · Waktu: {result.meta.durationMs}ms · {result.questions.length} soal
{result.questions.map((q, idx) => (
{idx + 1} {q.format.replace(/_/g, " ")}
{q.passageText}

{q.questionText}

{"options" in q && q.options && (
{q.format === "matching_pairs" ? q.options.map((opt: { left: string; right?: string }, i: number) => (
{opt.left?.charAt(0)?.toUpperCase() ?? i + 1} {opt.left} {opt.right && ( <> {opt.right} )}
)) : q.options.map((opt: { key: string; text: string }) => (
{opt.key} {opt.text}
))}
)}
{q.skillTags.map((tag) => ( {tag} ))}
))}
); }