import { auth } from "@/auth"; import { getDomains } from "@/lib/mailcow"; import { canAccessDomain } from "@/lib/users"; import { formatBytes } from "@/lib/format"; export default async function DashboardPage() { const session = await auth(); const role = session?.user?.role; const userDomains = session?.user?.domains ?? []; const allDomains = await getDomains(); const visibleDomains = allDomains.filter((d) => canAccessDomain(userDomains, d.domain_name)); const totalMailboxes = visibleDomains.reduce((sum, d) => sum + d.mboxes_in_domain, 0); const totalAliases = visibleDomains.reduce((sum, d) => sum + d.aliases_in_domain, 0); return ( <>
Hoş geldiniz, {session?.user?.name} 👋
| Domain | Mail Kutuları | Kota Kullanımı | Durum |
|---|---|---|---|
|
|
{d.mboxes_in_domain} / {d.max_num_mboxes_for_domain} |
{formatBytes(quotaUsed)} / {formatBytes(quotaTotal)}
80 ? "danger" : ""}`} style={{ width: `${pct}%` }} />
{Math.round(pct)}%
|
{String(d.active) === "1" ? "● Aktif" : "● Pasif"} |