import type { Metadata } from "next";
import { redirect } from "next/navigation";

import { listCustomers } from "@/lib/appwrite/customer-queries";
import { requireTenant } from "@/lib/appwrite/tenant-guard";
import { CustomersClient } from "./components/customers-client";

export const metadata: Metadata = {
  title: "İşletmem — Müşteriler",
};

export default async function CustomersPage() {
  let ctx;
  try {
    ctx = await requireTenant();
  } catch {
    redirect("/onboarding");
  }

  const customers = await listCustomers(ctx.tenantId);

  return (
    <div className="flex-1 space-y-6 px-6 pt-0">
      <div className="flex flex-col gap-1">
        <p className="text-muted-foreground text-sm">{ctx.settings?.companyName ?? "Çalışma alanı"}</p>
        <h1 className="text-2xl font-bold tracking-tight">Müşteriler</h1>
        <p className="text-muted-foreground text-sm">
          Müşterilerinizi yönetin, hizmet ve yazılım ilişkilerini buradan kurun.
        </p>
      </div>

      <CustomersClient
        customers={customers.map((c) => ({
          id: c.$id,
          name: c.name,
          email: c.email ?? "",
          phone: c.phone ?? "",
          taxId: c.taxId ?? "",
          address: c.address ?? "",
          notes: c.notes ?? "",
          status: (c.status ?? "active") as "active" | "passive",
          createdAt: c.$createdAt,
        }))}
      />
    </div>
  );
}
