"use client" import { useEffect, useState } from "react" import { ProtectedRoute } from "@/components/protected-route" 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 { Brain, Lightbulb, BarChart3, Calendar, TrendingUp, Users, Eye, ArrowLeft } from "lucide-react" import Link from "next/link" import { useAuth } from "@/lib/hooks/use-auth" interface TestResult { type: "logic" | "creative" | "combined" score: number completedAt: string details?: any } export default function ResultsPage() { return ( ) } function ResultsContent() { const { user } = useAuth() const [results, setResults] = useState([]) const [stats, setStats] = useState({ totalTests: 0, averageScore: 0, bestScore: 0, lastTestDate: null as string | null, }) useEffect(() => { // Load all test results from localStorage const logicResults = localStorage.getItem("logicTestResults") const creativeResults = localStorage.getItem("creativeTestResults") const combinedResults = localStorage.getItem("combinedTestResults") const allResults: TestResult[] = [] if (logicResults) { const data = JSON.parse(logicResults) allResults.push({ type: "logic", score: data.score, completedAt: data.completedAt, details: data, }) } if (creativeResults) { const data = JSON.parse(creativeResults) allResults.push({ type: "creative", score: data.score, completedAt: data.completedAt, details: data, }) } if (combinedResults) { const data = JSON.parse(combinedResults) allResults.push({ type: "combined", score: data.overallScore, completedAt: data.completedAt, details: data, }) } // Sort by completion date (newest first) allResults.sort((a, b) => new Date(b.completedAt).getTime() - new Date(a.completedAt).getTime()) setResults(allResults) // Calculate statistics if (allResults.length > 0) { const totalScore = allResults.reduce((sum, result) => sum + result.score, 0) const averageScore = Math.round(totalScore / allResults.length) const bestScore = Math.max(...allResults.map((r) => r.score)) const lastTestDate = allResults[0].completedAt setStats({ totalTests: allResults.length, averageScore, bestScore, lastTestDate, }) } }, []) const getTestTypeInfo = (type: string) => { switch (type) { case "logic": return { name: "邏輯思維測試", icon: Brain, color: "bg-primary", textColor: "text-primary", link: "/results/logic", } case "creative": return { name: "創意能力測試", icon: Lightbulb, color: "bg-accent", textColor: "text-accent", link: "/results/creative", } case "combined": return { name: "綜合能力測試", icon: BarChart3, color: "bg-gradient-to-r from-primary to-accent", textColor: "text-primary", link: "/results/combined", } default: return { name: "未知測試", icon: BarChart3, color: "bg-muted", textColor: "text-muted-foreground", link: "#", } } } const getScoreLevel = (score: number) => { if (score >= 90) return { level: "優秀", color: "bg-green-500" } if (score >= 80) return { level: "良好", color: "bg-blue-500" } if (score >= 70) return { level: "中等", color: "bg-yellow-500" } if (score >= 60) return { level: "及格", color: "bg-orange-500" } return { level: "不及格", color: "bg-red-500" } } if (results.length === 0) { return ( {/* Header */} 返回儀表板 我的測試結果 查看您的測試歷史和成績分析 暫無測試記錄 您還沒有完成任何測試,開始您的第一次評估吧! 邏輯思維測試 創意能力測試 綜合能力測試 ) } return ( {/* Header */} 返回儀表板 我的測試結果 查看您的測試歷史和成績分析 {/* User Info */} {user && ( {user.name} {user.department} • {user.role === "admin" ? "管理員" : "一般用戶"} )} {/* Statistics Overview */} {stats.totalTests} 完成測試 {stats.averageScore} 平均分數 {stats.bestScore} 最高分數 {stats.lastTestDate ? new Date(stats.lastTestDate).toLocaleDateString("zh-TW") : "無"} 最近測試 {/* Test History */} 測試歷史 {results.map((result, index) => { const testInfo = getTestTypeInfo(result.type) const scoreLevel = getScoreLevel(result.score) const Icon = testInfo.icon return ( {testInfo.name} 完成時間:{new Date(result.completedAt).toLocaleString("zh-TW")} {result.score} {scoreLevel.level} 查看詳情 ) })} {/* Performance Chart */} 成績趨勢 {results.map((result, index) => { const testInfo = getTestTypeInfo(result.type) return ( {testInfo.name} {result.score}分 ) })} {/* Quick Actions */} 繼續測試 邏輯思維測試 創意能力測試 綜合能力測試 ) }
查看您的測試歷史和成績分析
您還沒有完成任何測試,開始您的第一次評估吧!
{user.department} • {user.role === "admin" ? "管理員" : "一般用戶"}
完成時間:{new Date(result.completedAt).toLocaleString("zh-TW")}