import Link from "next/link"; import { notFound } from "next/navigation"; import { PanelShell } from "@/components/panel-shell"; import { getCaregiverMessageDetail } from "@/lib/caregiver-panel"; import { formatDateTime, getDeviceName, getImportanceLabel, getMessageDirectionLabel, getMessageStatusLabel, } from "@/lib/panel-format"; import { requireCaregiverSession } from "@/lib/page-auth"; export const dynamic = "force-dynamic"; type MessageDetailPageProps = { params: Promise<{ messageId: string }>; }; export default async function MessageDetailPage({ params }: MessageDetailPageProps) { const { messageId } = await params; const publicId = Number.parseInt(messageId, 10); if (!Number.isFinite(publicId) || publicId <= 0) { notFound(); } const caregiver = await requireCaregiverSession(`/messages/${publicId}`); const message = await getCaregiverMessageDetail(caregiver.id, publicId); if (!message) { notFound(); } return (
#{message.publicId} {getMessageDirectionLabel(message.direction)} {getImportanceLabel(message.importance)} {getMessageStatusLabel(message)}

{message.content}

{message.recipientRelation ? (

目标对象:{message.recipientRelation}

) : null}
); }