"use client";

import InputItem from "@/app/Components/FormItems";
import { Button } from "antd";
import { copyText } from "@/app/utils/copyText";

export default function ProformaSettings({
  form,
  handleChange,
  getColumns,
  editPermission,
}) {
  return (
    <div className="space-y-12">

      {/* ================= PROFORMA NUMBER FORMAT ================= */}
      <section className="space-y-6">

        <h2 className="text-base font-semibold mb-4 uppercase  mb-6 mt-4">
          Proforma Number Format
        </h2>

        <div className="grid grid-cols-1 lg:grid-cols-3 gap-6">

          <InputItem
            type="text"
            label="Prefix"
            name="prefix"
            value={form?.prefix}
            onChange={handleChange}
            hint="For example: PI, QT, EST"
            disabled={!editPermission}
          />

          <InputItem
            type="number"
            label="Number Padding"
            name="padding"
            value={form?.padding}
            onChange={handleChange}
            hint="Determines digit length (e.g., 4 → 0001)"
            disabled={!editPermission}
          />

          <InputItem
            type="number"
            label="Start From"
            name="startFrom"
            value={form?.startFrom}
            onChange={handleChange}
            hint="The starting quote number (e.g., 1 or 100)"
            disabled={!editPermission}
          />

        </div>

        <InputItem
          type="editor"
          label="Terms and Conditions"
          name="proforma_terms_conditions"
          value={form?.proforma_terms_conditions}
          onChange={handleChange}
          disabled={!editPermission}
        />

      </section>


      {/* ================= PROFORMA EMAIL SETTINGS ================= */}
      <section className="space-y-6 mt-10">

        <h2 className="text-base font-semibold uppercase mb-8">
          Proforma Email Settings
        </h2>

        <InputItem
          type="textspecial"
          label="Default Email Subject"
          name="emailSubject"
          value={form?.emailSubject}
          onChange={handleChange}
          disabled={!editPermission}
        />

        <InputItem
          type="editor"
          label="Default Email Body"
          name="emailBody"
          value={form?.emailBody}
          onChange={handleChange}
          disabled={!editPermission}
        />

        <InputItem
          type="textspecial"
          label="CC"
          name="cc"
          value={form?.cc}
          onChange={handleChange}
          disabled={!editPermission}
        />

      </section>


      {/* ================= ADVANCE PAYMENT EMAIL ================= */}
      <section className="space-y-6 mt-10">

        <h2 className="text-base font-semibold uppercase mb-8">
          Advance Payment Receipt Email Settings
        </h2>

        <InputItem
          type="textspecial"
          label="Default Email Subject"
          name="advancePaymentEmailSubject"
          value={form?.advancePaymentEmailSubject}
          onChange={handleChange}
          disabled={!editPermission}
        />

        <InputItem
          type="editor"
          label="Default Email Body"
          name="advancePaymentEmailBody"
          value={form?.advancePaymentEmailBody}
          onChange={handleChange}
          disabled={!editPermission}
        />

        {getColumns?.proforma_advance?.length > 0 && (
          <div className="flex flex-wrap gap-2">
            {getColumns.proforma_advance.map((name, idx) => (
              <Button
                key={idx}
                size="small"
                onClick={() => copyText(`{{${name}}}`)}
                disabled={!editPermission}
              >
                {name}
              </Button>
            ))}
          </div>
        )}

        <InputItem
          type="textspecial"
          label="CC"
          name="cc"
          value={form?.cc}
          onChange={handleChange}
          disabled={!editPermission}
        />

      </section>

    </div>
  );
}
