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 styles from "./DNSProviderFields.module.css"; interface DNSProviderOption { readonly value: string; readonly label: string; readonly credentials: string; } export function DNSProviderFields() { 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 (

This section requires some knowledge about Certbot and DNS plugins. Please consult the respective plugins documentation.

{({ field }: any) => (