"use client"

import Link from "next/link"

import { buttonVariants } from "@/components/ui/button"
import { cn } from "@/lib/utils"
import { SalesSlipSummary } from "@/types/sales"

export function FreeIssueSuggestions({ rows }: { rows: SalesSlipSummary[] }) {
  if (rows.length === 0) return null

  return (
    <div className="rounded-2xl border p-4">
      <div className="mb-3 flex items-center justify-between gap-3">
        <div>
          <h2 className="text-lg font-semibold text-foreground">Free issue suggestions</h2>
          <p className="text-sm text-muted-foreground">Recent free-issue slips created from the free-issues page.</p>
        </div>
        <Link href="/dashboard/sales/free-issues" className={cn(buttonVariants({ variant: "outline", size: "sm" }))}>
          Open free issues
        </Link>
      </div>

      <div className="grid gap-3 md:grid-cols-2 xl:grid-cols-3">
        {rows.map((row) => (
          <Link
            key={row.salesSlipId}
            href={`/dashboard/sales/free-issues/${row.salesSlipId}`}
            className="rounded-xl border bg-muted/20 p-3 transition-colors hover:bg-muted/40"
          >
            <div className="flex items-center justify-between gap-2">
              <div className="font-medium text-foreground">{row.slipNo}</div>
              <div className="text-xs uppercase tracking-wide text-muted-foreground">{row.status}</div>
            </div>
            <div className="mt-1 text-sm text-muted-foreground">{row.customerSnapshotName}</div>
            <div className="mt-2 text-sm text-foreground">Free qty total: {row.totals.freeQtyTotal.toFixed(2)}</div>
          </Link>
        ))}
      </div>
    </div>
  )
}