"use client" import { useEffect, useState } from "react" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Progress } from "@/components/ui/progress" import { CheckCircle, XCircle, Brain, Home, RotateCcw } from "lucide-react" import Link from "next/link" import { logicQuestions } from "@/lib/questions/logic-questions" interface LogicTestResults { type: string score: number correctAnswers: number totalQuestions: number answers: Record completedAt: string } export default function LogicResultsPage() { const [results, setResults] = useState(null) useEffect(() => { const savedResults = localStorage.getItem("logicTestResults") if (savedResults) { setResults(JSON.parse(savedResults)) } }, []) if (!results) { return (

未找到測試結果

) } const getScoreLevel = (score: number) => { if (score >= 90) return { level: "優秀", color: "bg-green-500", description: "邏輯思維能力出色" } if (score >= 80) return { level: "良好", color: "bg-blue-500", description: "邏輯思維能力較強" } if (score >= 70) return { level: "中等", color: "bg-yellow-500", description: "邏輯思維能力一般" } if (score >= 60) return { level: "及格", color: "bg-orange-500", description: "邏輯思維能力需要提升" } return { level: "不及格", color: "bg-red-500", description: "邏輯思維能力有待加強" } } const scoreLevel = getScoreLevel(results.score) return (
{/* Header */}

邏輯思維測試結果

完成時間:{new Date(results.completedAt).toLocaleString("zh-TW")}

{/* Score Overview */}
{results.score}
測試完成!
{scoreLevel.level}

{scoreLevel.description}

{results.correctAnswers}
答對題數
{results.totalQuestions}
總題數
{Math.round((results.correctAnswers / results.totalQuestions) * 100)}%
正確率
{/* Detailed Results */} 詳細結果
{logicQuestions.map((question, index) => { const userAnswer = results.answers[index] const isCorrect = userAnswer === question.correctAnswer const correctOption = question.options.find((opt) => opt.value === question.correctAnswer) const userOption = question.options.find((opt) => opt.value === userAnswer) return (
{isCorrect ? ( ) : ( )}

第{index + 1}題:{question.question}

你的答案: {userOption?.text || "未作答"}
{!isCorrect && (
正確答案: {correctOption?.text}
)} {question.explanation && !isCorrect && (
解析: {question.explanation}
)}
) })}
{/* Actions */}
) }