import { prisma } from "@/lib/prisma";
import { updateCompanyDetails } from "@/lib/actions/settings";
import SettingsTabs from "@/components/admin/SettingsTabs";

export default async function AdminCompanyDetailsPage({
  searchParams,
}: {
  searchParams: Promise<{ error?: string }>;
}) {
  const company = await prisma.companyDetails.findFirst();
  const { error } = await searchParams;

  return (
    <div>
      <h1 className="font-[family-name:var(--font-heading)] text-2xl font-bold text-stone-800">Company Details</h1>
      <p className="mt-1 text-sm text-stone-500">
        Your registered business identity — used on invoices and for GST. This is separate from the public contact
        info shown on the site.
      </p>

      <SettingsTabs active="/iv-manage-84x2/settings/company" />

      {error && <p className="mb-4 mt-4 rounded-md bg-red-50 px-3 py-2 text-sm text-red-700">{decodeURIComponent(error)}</p>}

      <form action={updateCompanyDetails} className="grid max-w-2xl grid-cols-1 gap-4 rounded-lg border border-rose-100 bg-white p-4 sm:grid-cols-2">
        <label className="text-xs text-stone-500 sm:col-span-2">
          Legal / registered business name
          <input name="legalName" defaultValue={company?.legalName ?? ""} className="mt-1 block w-full rounded-md border border-stone-300 px-2 py-2 text-sm" />
        </label>
        <label className="text-xs text-stone-500">
          GSTIN
          <input name="gstin" defaultValue={company?.gstin ?? ""} placeholder="e.g. 33AAAAA0000A1Z5" className="mt-1 block w-full rounded-md border border-stone-300 px-2 py-2 text-sm" />
        </label>
        <label className="text-xs text-stone-500">
          PAN
          <input name="pan" defaultValue={company?.pan ?? ""} className="mt-1 block w-full rounded-md border border-stone-300 px-2 py-2 text-sm" />
        </label>
        <label className="text-xs text-stone-500 sm:col-span-2">
          Address line 1
          <input name="addressLine1" defaultValue={company?.addressLine1 ?? ""} className="mt-1 block w-full rounded-md border border-stone-300 px-2 py-2 text-sm" />
        </label>
        <label className="text-xs text-stone-500 sm:col-span-2">
          Address line 2
          <input name="addressLine2" defaultValue={company?.addressLine2 ?? ""} className="mt-1 block w-full rounded-md border border-stone-300 px-2 py-2 text-sm" />
        </label>
        <label className="text-xs text-stone-500">
          City
          <input name="city" defaultValue={company?.city ?? ""} className="mt-1 block w-full rounded-md border border-stone-300 px-2 py-2 text-sm" />
        </label>
        <label className="text-xs text-stone-500">
          State
          <input name="state" defaultValue={company?.state ?? ""} className="mt-1 block w-full rounded-md border border-stone-300 px-2 py-2 text-sm" />
        </label>
        <label className="text-xs text-stone-500">
          Pincode
          <input name="pincode" defaultValue={company?.pincode ?? ""} className="mt-1 block w-full rounded-md border border-stone-300 px-2 py-2 text-sm" />
        </label>
        <button type="submit" className="col-span-1 rounded-md bg-rose-700 px-4 py-2 text-sm font-semibold text-white hover:bg-rose-800 sm:col-span-2">
          Save
        </button>
      </form>
    </div>
  );
}
