diff --git a/app/[lang]/dashboard/domains/page.tsx b/app/[lang]/dashboard/domains/page.tsx index b22ba4e..9dd1517 100644 --- a/app/[lang]/dashboard/domains/page.tsx +++ b/app/[lang]/dashboard/domains/page.tsx @@ -2,6 +2,7 @@ import { useState, useEffect, useTransition } from "react"; import { formatBytes } from "@/lib/format"; +import { useDictionary } from "@/components/DictionaryContext"; interface Domain { domain_name: string; @@ -23,6 +24,7 @@ export default function DomainsPage() { const [search, setSearch] = useState(""); const [form, setForm] = useState({ domain: "", description: "", mailboxes: "10", quota: "10240", maxquota: "10240" }); const [formError, setFormError] = useState(""); + const dict = useDictionary(); const fetchDomains = async () => { setLoading(true); @@ -54,14 +56,23 @@ export default function DomainsPage() { fetchDomains(); } else { const data = await res.json(); - const msg = Array.isArray(data) ? data.map((d: { msg?: string }) => d.msg).join(", ") : (data?.error ?? "Bir hata oluştu"); - setFormError(String(msg)); + let msg = "Bir hata oluştu"; + if (Array.isArray(data)) { + msg = data.map((d: any) => { + if (typeof d.msg === "string") return d.msg; + if (Array.isArray(d.msg)) return d.msg.join(", "); + return JSON.stringify(d.msg || d); + }).join(" | "); + } else if (data?.error) { + msg = data.error; + } + setFormError(msg); } }); }; const handleDelete = (domain: string) => { - if (!confirm(`"${domain}" domainini Mailcow'dan silmek istediğinizden emin misiniz?\n\nBu işlem geri alınamaz!`)) return; + if (!confirm(`"${domain}" domainini silmek istediğinizden emin misiniz?\n\nBu işlem geri alınamaz!`)) return; startTransition(async () => { await fetch(`/api/domains/${encodeURIComponent(domain)}`, { method: "DELETE" }); fetchDomains(); @@ -78,11 +89,11 @@ export default function DomainsPage() { <>
Mailcow üzerindeki tüm domainleri yönetin
+{domains.length} {dict.domains.subtitle || "domain listeleniyor"}
| Domain | -Mail Kutuları | -Alias | -Kota | -Durum | -İşlemler | +{dict.domains.domain || "Domain"} | +{dict.domains.mailboxes || "Mail Kutuları"} | +{dict.domains.aliases || "Alias"} | +{dict.domains.quota || "Kota"} | +{dict.domains.status || "Durum"} | +{dict.domains.actions || "İşlemler"} | - {String(d.active) === "1" ? "● Aktif" : "● Pasif"} + {String(d.active) === "1" ? `● ${dict.domains.active || "Aktif"}` : `● ${dict.domains.inactive || "Pasif"}`} |
@@ -181,20 +192,20 @@ export default function DomainsPage() {
e.target === e.currentTarget && setShowModal(false)}>
-
Mailcow'a Domain Ekle+{dict.domains.addDomain || "Domain Ekle"} |
|---|