import Link from "next/link"; import { MessageCircle, Smartphone, Activity, ScanLine } from "lucide-react"; import { PanelShell } from "@/components/panel-shell"; import { PwaControls } from "@/components/pwa-controls"; import { getCaregiverOverview } from "@/lib/caregiver-panel"; import { formatDateTime, getDeviceName, getImportanceLabel, getMessageHref, 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 Home() { const caregiver = await requireCaregiverSession("/"); const { dashboard, recentIncomingMessages, recentOutgoingMessages } = await getCaregiverOverview(caregiver.id); const totalUnreadForElder = dashboard.devices.reduce( (total, device) => total + device.familyUnreadCount, 0, ); const totalUnreadForCaregiver = dashboard.devices.reduce( (total, device) => total + device.elderUnreadCount, 0, ); const totalConversations = dashboard.devices.reduce( (total, device) => total + device.elderDevice._count.conversationTurns, 0, ); return ( } >

已连接设备

{dashboard.devices.length}

长辈的新留言

{totalUnreadForCaregiver}

待长辈查看

{totalUnreadForElder}

陪伴对话

{totalConversations}

{[ { href: "/messages", title: "留言板", text: "查看长辈捎来的话,也能回看您发出的每一条问候。", tone: "bg-[rgba(53,84,141,0.12)]", icon: MessageCircle, }, { href: "/devices", title: "我的设备", text: "管理已绑定的长辈设备,进入设备详情给长辈写留言。", tone: "bg-[rgba(118,132,94,0.14)]", icon: Smartphone, }, { href: "/activity", title: "陪伴动态", text: "了解长辈最近的使用情况和聊天记录,安心守护。", tone: "bg-[rgba(199,103,51,0.12)]", icon: Activity, }, { href: "/scan", title: "扫码绑定", text: "扫描长辈手机上的二维码,一步完成设备连接。", tone: "bg-[rgba(36,27,20,0.08)]", icon: ScanLine, }, ].map((item) => { const Icon = item.icon; return (
{item.title}

{item.title}

{item.text}

查看详情 →

); })}
{dashboard.devices.length === 0 ? (

开始使用

先连接长辈的设备

让长辈打开手机里的「家人连接」页面,用您的手机扫描二维码,即可建立连接。连接成功后,您就能收到长辈的留言和使用动态。

扫码连接 手动添加
) : (

长辈的留言

最近收到的话

查看全部
{recentIncomingMessages.length === 0 ? (

暂时还没有收到新留言。

) : ( recentIncomingMessages.map((message) => (
#{message.publicId} {getDeviceName(message.elderDevice.displayName)} {getImportanceLabel(message.importance)} {formatDateTime(message.createdAt)}

{truncateText(message.content)}

)) )}

我发出的问候

最近写给长辈的话

写新留言
{recentOutgoingMessages.length === 0 ? (

还没有给长辈留过言,去设备页写一句问候吧。

) : ( recentOutgoingMessages.map((message) => (
#{message.publicId} {getDeviceName(message.elderDevice.displayName)} {getImportanceLabel(message.importance)} {formatDateTime(message.createdAt)}

{truncateText(message.content)}

)) )}
)}
); }