"use client"; import { useState, useTransition } from "react"; import { UserPlus } from "lucide-react"; import { Button } from "@/components/ui/button"; import { generateFamilyInvite } from "./actions"; // xuchao: 家庭管理——展示成员列表,生成一次性邀请码让其他家长注册加入 export function FamilyManage({ familyName, parents, kids, }: { familyName: string; parents: { id: number; name: string }[]; kids: { id: number; name: string }[]; }) { const [invite, setInvite] = useState<{ code?: string; error?: string } | null>(null); const [pending, startTransition] = useTransition(); const gen = () => { setInvite(null); startTransition(async () => { setInvite(await generateFamilyInvite()); }); }; return (

{familyName} · {parents.length} 位家长 · {kids.length} 个孩子

{parents.map((p) => (
{p.name} 家长
))} {kids.map((k) => (
{k.name} 孩子
))}
{invite?.error &&

{invite.error}

} {invite?.code && (

邀请码{" "} {invite.code} 15 分钟有效,一次性

)}
); }