import Link from "next/link"; import { PenLine } from "lucide-react"; import { PanelShell } from "@/components/panel-shell"; import { getCaregiverMessages } from "@/lib/caregiver-panel"; import { formatDateTime, getDeviceName, getMessageHref, getMessageStatusLabel, truncateText } from "@/lib/panel-format"; import { requireCaregiverSession } from "@/lib/page-auth"; import { getCaregiverDisplayName } from "@/lib/session"; export const dynamic = "force-dynamic"; export default async function MessagesPage({ searchParams }: PageProps<"/messages">) { const caregiver = await requireCaregiverSession("/messages"); const { messages, unreadIncomingCount } = await getCaregiverMessages(caregiver.id); const filter = (await searchParams).filter === "out" ? "out" : "in"; const items = messages.filter((m) => filter === "in" ? m.direction === "ELDER_TO_FAMILY" : m.direction === "FAMILY_TO_ELDER"); return ( 写留言}>
收到 · {unreadIncomingCount} 未读 发出
{items.length ? items.map((message) => ( {getDeviceName(message.elderDevice.displayName)} {message.importance !== "NORMAL" ? 重要 : null} {formatDateTime(message.createdAt)} {truncateText(message.content, 82)} #{message.publicId} · {getMessageStatusLabel(message)} )) :
这一侧暂时还没有留言。
}
); }