import Link from "next/link"; import { notFound } from "next/navigation"; import { ArrowLeft } from "lucide-react"; import { buttonVariants } from "@/components/ui/button"; import { getMaestroDetail } from "@/lib/maestros"; import { formatDate, getAccountTypeLabel, getActivateStatusLabel, } from "@/lib/utils"; import { MaestroEditForm } from "./MaestroEditForm"; import { StudentsSection } from "./StudentsSection"; import { ExtensionRequestsSection } from "./ExtensionRequestsSection"; import { UpgradeRequestsSection } from "./UpgradeRequestsSection"; import { LogsSection } from "./LogsSection"; type MaestroDetailPageProps = { params: Promise<{ maestroId: string; }>; }; export default async function MaestroDetailPage({ params, }: MaestroDetailPageProps) { const { maestroId } = await params; const maestroID = Number(maestroId); if (!Number.isInteger(maestroID) || maestroID <= 0) { notFound(); } const detail = await getMaestroDetail(maestroID); if (!detail) { notFound(); } const { maestro } = detail; return ( 목록 {maestro.name} MaestroID {maestro.maestroID} · {maestro.email} 기본 정보 ); } function SummaryCard({ label, value }: { label: string; value: string }) { return ( {label} {value} ); }
MaestroID {maestro.maestroID} · {maestro.email}
{label}
{value}