import { h } from "preact";
import { NiceForm } from "../NiceForm.js";
import { v1 as form_902_11e_v1 } from "../forms/902_11e.js";
import { v1 as form_902_12e_v1 } from "../forms/902_12e.js";
import { v1 as form_902_13e_v1 } from "../forms/902_13e.js";
import { v1 as form_902_15e_v1 } from "../forms/902_15e.js";
import { v1 as form_902_1e_v1 } from "../forms/902_1e.js";
import { v1 as form_902_4e_v1 } from "../forms/902_4e.js";
import { v1 as form_902_5e_v1 } from "../forms/902_5e.js";
import { v1 as form_902_9e_v1 } from "../forms/902_9e.js";
import { DocumentDuplicateIcon } from "@heroicons/react/24/solid";

export function AntiMoneyLaunderingForm({ number }: { number?: string }) {
  const selectedForm = Number.parseInt(number ?? "0", 10);
  if (Number.isNaN(selectedForm)) {
    return <div>WHAT! {number}</div>;
  }
  const showingFrom = allForms[selectedForm].impl;
  const storedValue = {
    fullName: "loggedIn_user_fullname",
    when: {
      t_ms: new Date().getTime(),
    },
  };
  return (
    <NiceForm initial={storedValue} form={showingFrom} onUpdate={() => {}} />
  );
}

export const allForms = [
  {
    name: "Identification form (902.1e)",
    icon: DocumentDuplicateIcon,
    impl: form_902_1e_v1,
  },
  {
    name: "Operational legal entity or partnership (902.11e)",
    icon: DocumentDuplicateIcon,
    impl: form_902_11e_v1,
  },
  {
    name: "Foundations (902.12e)",
    icon: DocumentDuplicateIcon,
    impl: form_902_12e_v1,
  },
  {
    name: "Declaration for trusts (902.13e)",
    icon: DocumentDuplicateIcon,
    impl: form_902_13e_v1,
  },
  {
    name: "Information on life insurance policies (902.15e)",
    icon: DocumentDuplicateIcon,
    impl: form_902_15e_v1,
  },
  {
    name: "Declaration of beneficial owner (902.9e)",
    icon: DocumentDuplicateIcon,
    impl: form_902_9e_v1,
  },
  {
    name: "Customer profile (902.5e)",
    icon: DocumentDuplicateIcon,
    impl: form_902_5e_v1,
  },
  {
    name: "Risk profile (902.4e)",
    icon: DocumentDuplicateIcon,
    impl: form_902_4e_v1,
  },
];
