"use client"; // Error boundaries must be Client Components import { Activity, ArrowLeftRight, BookUser, Database, Home, RefreshCw, UserRoundSearch, } from "lucide-react"; import Link from "next/link"; import { useEffect, useState } from "react"; import Dottore from "#/assets/dottore.webp"; import Background from "#/bg.webp"; import Image from "@/components/image"; import { SimpleTooltip } from "@/components/tooltip"; import { Button } from "@/components/ui/button"; import { Skeleton } from "@/components/ui/skeleton"; import { Spinner } from "@/components/ui/spinner"; export default function ErrorPage({ error, reset, }: { error: Error & { digest?: string }; reset: () => void; }) { const [loading, setLoading] = useState(false); const [goingHome, goHome] = useState(false); const [message, setMessage] = useState(""); const [health, setHealth] = useState<{ database: boolean; enka: boolean; amber: boolean; red: boolean; }>(); useEffect(() => { // Log the error to an error reporting service console.error(error); const messages = [ "หมอวิจัยหน้านี้จนพังแล้ว...", "หมอไม่ชอบหน้านี้...", "หมอเตรียมพื้นที่ตรงนี้สำหรับการทดลอง...", "หมอกำลังศึกษาหน้านี้อยู่...", "หมอจะทดลองกับหน้านี้...", ]; setMessage(messages[Math.floor(Math.random() * messages.length)]); fetch("/api/health") .then((r) => r.json()) .then(setHealth); }, [error]); return ( <> Background
Dottore

เกิดข้อผิดพลาดขึ้น

{message || }
{health ? (
) : (
)}
); }