import Link from "next/link"; import { redirect } from "next/navigation"; import { getSession } from "@/lib/auth"; import { prisma } from "@/lib/prisma"; import { ShellPage } from "@/components/page-templates"; import { TablePlaceholder } from "@/components/placeholders"; function truncate(value: string, limit: number) { return value.length <= limit ? value : `${value.slice(0, limit - 1)}…`; } export default async function AgentQuickToolsPage() { const session = await getSession(); if (!session) { redirect("/login"); } if (session.role !== "agent") { redirect("/unauthorized"); } const tenantId = session.tenantId; const [templateCount, activeTemplates, followUpNotes] = await Promise.all([ prisma.messageTemplate.count({ where: { tenantId } }), prisma.messageTemplate.count({ where: { tenantId, approvalStatus: "APPROVED" } }), prisma.conversationNote.count({ where: { tenantId, userId: session.userId } }) ]); const totalMessages = await prisma.conversationActivity.count({ where: { tenantId, actorUserId: session.userId } }); return ( Open templates ], ["Template Picker", "Pilih template yang sudah disetujui.", `${activeTemplates}/${templateCount} approved`, Open templates], ["Follow-up Notes", "Catatan follow-up dari conversation sendiri.", String(followUpNotes), Open inbox] ]} /> ); }