import { redirect } from "next/navigation";

import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
import { listOutboundJobs } from "@/lib/appwrite/job-queries";
import { requireTenant } from "@/lib/appwrite/tenant-guard";
import { JobsTable } from "../_components/jobs-table";

export const metadata = {
  title: "DLS — Giden İşler",
};

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

  const rows = ctx.kind === "clinic" ? await listOutboundJobs(ctx.tenantId) : [];

  return (
    <div className="flex-1 space-y-6 px-6">
      <div className="flex flex-col gap-1">
        <h1 className="text-2xl font-bold tracking-tight">Giden İşler</h1>
        <p className="text-muted-foreground text-sm">
          Bağlı laboratuvarlara gönderdiğiniz işler.
        </p>
      </div>

      <Card>
        <CardHeader>
          <CardTitle>Tüm Giden İşler</CardTitle>
          <CardDescription>
            {ctx.kind === "clinic"
              ? rows.length === 0
                ? "Henüz iş göndermediniz."
                : `${rows.length} kalem`
              : "Bu sayfa klinik hesapları içindir."}
          </CardDescription>
        </CardHeader>
        <CardContent>
          {ctx.kind === "clinic" ? (
            <JobsTable
              rows={rows}
              counterpartLabel="Laboratuvar"
              emptyMessage="Henüz iş göndermediniz. 'Yeni İş Yayınla' butonundan başlayabilirsiniz."
            />
          ) : (
            <p className="text-muted-foreground py-6 text-center text-sm">
              Laboratuvar hesabıyla giriş yaptınız — giden iş listesi sadece klinik tarafında görünür.
            </p>
          )}
        </CardContent>
      </Card>
    </div>
  );
}
