import { verifySession } from "@/lib/auth";
import { pgGetManagedUnits } from "@/lib/postgres/data-access";
import { getTranslations, getCurrentLocale } from "@/lib/i18n";
import ListManager from "@/components/admin/list-manager";

export default async function ManageUnitsPage() {
  const session = await verifySession();
  const user = session.user;
  const locale = await getCurrentLocale();
  const t = getTranslations(locale);
  const tGlobal = t.Global ?? {};
  const tLists = t.ItemLists ?? {};

  if (!user || user.role !== 'admin') {
    return (
      <div className="text-center">
        <h1 className="text-2xl font-bold">{tGlobal?.accessDenied ?? "الوصول مرفوض"}</h1>
        <p>{tGlobal?.noPermission ?? "ليس لديك صلاحية لعرض هذه الصفحة."}</p>
      </div>
    );
  }

  const rawUnits = (await pgGetManagedUnits({ page: 1, pageSize: 5000 })).items;
  const units = rawUnits.map((unit: any) => ({
    ...unit,
    name: unit.description,
  }));

  return (
    <ListManager
      items={units}
      title={tLists?.manageUnits ?? "إدارة الوحدات"}
      description={tLists?.manageUnitsDescription ?? "إدارة قاعدة بيانات الوحدات (رقم تسلسلي فريد تلقائي + وصف + اختصار اختياري + ملاحظات اختيارية)."}
      itemType="unit"
      t={tLists}
      tGlobal={tGlobal}
      unitDefinitions={units}
    />
  );
}
