import { EyeIcon, FileTextIcon, PencilIcon } from "lucide-react";
import Image from "next/image";
import Link from "next/link";
import { redirect } from "next/navigation";
import AddTopupDialogForm from "@/components/admin/admin-topup-form";
import ClientErrorMessage from "@/components/client-error-message";
import InputReadOnly from "@/components/input-read-only";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import UserRejectDialog from "@/components/user/user-reject-dialog";
import { UserVerifyDialog } from "@/components/user/user-verify-dialog";
import { getNationalPerson } from "@/lib/person";
import { getProfileById } from "@/queries/users";
import { tryCatch } from "@/utils/tryCatch";
export default async function VerifyUserPage({
	params,
}: {
	params: Promise<{
		userId: string;
	}>;
}) {
	const userId = (await params).userId;
	const [error, dbUser] = await tryCatch(getProfileById(userId));
	const [nationalDataEror, nationalData] = await tryCatch(
		getNationalPerson({ idCard: dbUser?.id_card ?? "" }),
	);
	if (nationalDataEror) {
		console.warn("Error fetching national data:", nationalDataEror);
	}
	if (error) {
		if (error.message === "UNAUTHORIZED") {
			redirect("/auth/signin");
		} else {
			return 
{JSON.stringify(nationalData, null, 2)}
	const fullName = `${dbUser?.first_name} ${dbUser?.last_name}`;
	const nationalDob = nationalData?.dob?.split("T")[0];
	const dbUserDob = new Date(dbUser?.dob).toISOString().split("T")[0];
	return (