import { ChangeEvent, FC, useState } from "react"; import { useTranslation } from "react-i18next"; import Select, { Option } from "@/components/styled/Select"; import Button from "@/components/styled/Button"; import Input from "@/components/styled/Input"; import Toggle from "@/components/styled/Toggle"; import options from "./items.json"; import IconMinus from "@/assets/icons/minus.circle.svg"; interface Issuer { domain: string; enable: boolean; favicon: string; } interface Props { issuers: Issuer[]; onChange: (issuers: Issuer[]) => void; } const IssuerList: FC = ({ issuers = [], onChange }) => { const { t } = useTranslation(); const [select, setSelect] = useState | null>(null); const [newDomain, setNewDomain] = useState(""); const handleNewDomain = (evt: ChangeEvent) => { setNewDomain(evt.target.value); }; const disableBtn = (!newDomain && !select?.value) || !select?.title || issuers.some((issuer) => issuer.domain === newDomain); return (
    {issuers.map(({ enable, favicon, domain }) => { return (
  • { onChange(issuers.filter((issuer) => issuer.domain !== domain)); }} />
    {Boolean(favicon) && logo}
    { onChange( issuers.map((issuer) => ({ ...issuer, enable: issuer.domain === domain ? !enable : issuer.enable })) ); }} />
  • ); })}
{/* */} ); }; export default IssuerList;