import { useSubmit } from '@remix-run/react' import { useState } from 'react' import { Button } from 'react-aria-components' import Link from '~/components/Link' import Switch from '~/components/Switch' import TableList from '~/components/TableList' import { cn } from '~/utils/cn' import AddNameserver from './dialogs/nameserver' interface Props { nameservers: Record isDisabled: boolean } export default function Nameservers({ nameservers, isDisabled }: Props) { return (

Nameservers

Set the nameservers used by devices on the Tailnet to resolve DNS queries. {' '} Learn more

{Object.keys(nameservers).map(key => ( ))} {isDisabled ? undefined : ( )}
) } interface ListProps { isGlobal: boolean isDisabled: boolean nameservers: string[] name: string } function NameserverList({ isGlobal, isDisabled, nameservers, name }: ListProps) { const submit = useSubmit() const list = isGlobal ? nameservers['global'] : nameservers[name] if (list.length === 0) { return null } return (

{isGlobal ? 'Global Nameservers' : name}

{list.length > 0 ? list.map((ns, index) => ( // eslint-disable-next-line react/no-array-index-key

{ns}

)) : undefined}
) }