import { useSubmit } from 'react-router'; 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: Record; 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}
); }