import { useFetcher } from 'react-router'; import Dialog from '~/components/Dialog'; import Spinner from '~/components/Spinner'; type Properties = { readonly isEnabled: boolean; readonly disabled?: boolean; }; // TODO: Use form action instead of JSON patching // AND FIX JSON END OF UNEXPECTED INPUT export default function Modal({ isEnabled, disabled }: Properties) { const fetcher = useFetcher(); return ( {fetcher.state === 'idle' ? undefined : } {isEnabled ? 'Disable' : 'Enable'} Magic DNS { fetcher.submit( { 'dns.magic_dns': !isEnabled, }, { method: 'PATCH', encType: 'application/json', }, ); }} > {isEnabled ? 'Disable' : 'Enable'} Magic DNS Devices will no longer be accessible via your tailnet domain. The search domain will also be disabled. ); }