import { IconAlertTriangle } from "@tabler/icons-react"; import CodeEditor from "@uiw/react-textarea-code-editor"; import { Field, useFormikContext } from "formik"; import { useState } from "react"; import Select, { type ActionMeta } from "react-select"; import type { DNSProvider } from "src/api/backend"; import { useDnsProviders } from "src/hooks"; import { intl, T } from "src/locale"; import styles from "./DNSProviderFields.module.css"; interface DNSProviderOption { readonly value: string; readonly label: string; readonly credentials: string; } interface Props { showBoundaryBox?: boolean; } export function DNSProviderFields({ showBoundaryBox = false }: Props) { const { values, setFieldValue } = useFormikContext(); const { data: dnsProviders, isLoading } = useDnsProviders(); const [dnsProviderId, setDnsProviderId] = useState(null); const v: any = values || {}; const handleChange = (newValue: any, _actionMeta: ActionMeta) => { setFieldValue("meta.dnsProvider", newValue?.value); setFieldValue("meta.dnsProviderCredentials", newValue?.credentials); setDnsProviderId(newValue?.value); }; const options: DNSProviderOption[] = dnsProviders?.map((p: DNSProvider) => ({ value: p.id, label: p.name, credentials: p.credentials, })) || []; return (

{({ field }: any) => (
)}
) : null}
); }