import Link from "next/link" import { ArrowLeft, GraduationCap } from "lucide-react" import { Avatar, AvatarFallback, AvatarImage } from "@/shared/components/ui/avatar" import { Badge } from "@/shared/components/ui/badge" import { Button } from "@/shared/components/ui/button" import { getInitials } from "@/shared/lib/utils" import type { ChildDashboardData } from "@/modules/parent/types" /** 将邮箱掩码为 j***@example.com 形式,防止爬虫与旁人窥屏。 */ function maskEmail(email: string): string { const [local, domain] = email.split("@") if (!local || !domain) return email const maskedLocal = local.length <= 1 ? local : `${local[0]}***` return `${maskedLocal}@${domain}` } export function ChildDetailHeader({ child }: { child: ChildDashboardData }) { const { basicInfo } = child const childName = basicInfo.name ?? "Child" return (
{getInitials(basicInfo.name)}

{basicInfo.name ?? "Unnamed"}

{basicInfo.className ? ( {basicInfo.className} ) : null} {basicInfo.gradeName ? ( {basicInfo.gradeName} ) : null} {basicInfo.relation ? · {basicInfo.relation} : null} · {maskEmail(basicInfo.email)}
) }