diff --git a/frontend/src/admin/AdminDomains.js b/frontend/src/admin/AdminDomains.js index 9740dfc9af..74fa202847 100644 --- a/frontend/src/admin/AdminDomains.js +++ b/frontend/src/admin/AdminDomains.js @@ -27,7 +27,7 @@ import { import { AddIcon, EditIcon, MinusIcon, PlusSquareIcon } from '@chakra-ui/icons' import { useMutation } from '@apollo/client' import { useLingui } from '@lingui/react' -import { number, string } from 'prop-types' +import { bool, number, string } from 'prop-types' import { AdminDomainModal } from './AdminDomainModal' import { AdminDomainCard } from './AdminDomainCard' @@ -48,7 +48,7 @@ import { InfoBox, InfoButton, InfoPanel } from '../components/InfoPanel' import { FilterList } from '../domains/FilterList' import { domainSearchTip } from '../domains/DomainsPage' -export function AdminDomains({ orgSlug, orgId }) { +export function AdminDomains({ orgSlug, orgId, verified, permission }) { const toast = useToast() const { i18n } = useLingui() @@ -324,17 +324,19 @@ export function AdminDomains({ orgSlug, orgId }) { {index === 0 && } - { - setSelectedRemoveProps({ domain, domainId, rcode }) - removeOnOpen() - }} - variant="danger" - px="2" - icon={} - aria-label={'Remove ' + domain} - /> + {(!verified || permission === 'SUPER_ADMIN' || rcode === 'NXDOMAIN') && ( + { + setSelectedRemoveProps({ domain, domainId, rcode }) + removeOnOpen() + }} + variant="danger" + px="2" + icon={} + aria-label={'Remove ' + domain} + /> + )} { - const { slug, name, id } = edge.node - options.push({ label: name, value: { slug: slug, id: id } }) + const { slug, name, id, verified } = edge.node + options.push({ label: name, value: { slug: slug, id: id, verified: verified } }) }) dropdown = ( diff --git a/frontend/src/admin/AdminPanel.js b/frontend/src/admin/AdminPanel.js index 8e7cca4293..945266c702 100644 --- a/frontend/src/admin/AdminPanel.js +++ b/frontend/src/admin/AdminPanel.js @@ -1,7 +1,7 @@ import React from 'react' import { Stack, Tab, TabList, TabPanel, TabPanels, Tabs } from '@chakra-ui/react' import { Trans } from '@lingui/macro' -import { string } from 'prop-types' +import { bool, string } from 'prop-types' import { ErrorBoundary } from 'react-error-boundary' import { AdminDomains } from './AdminDomains' @@ -11,7 +11,7 @@ import { ErrorFallbackMessage } from '../components/ErrorFallbackMessage' import { AuditLogTable } from './AuditLogTable' import { TourComponent } from '../userOnboarding/components/TourComponent' -export function AdminPanel({ activeMenu, orgSlug, permission, orgId }) { +export function AdminPanel({ activeMenu, orgSlug, permission, orgId, verified }) { return ( @@ -31,7 +31,7 @@ export function AdminPanel({ activeMenu, orgSlug, permission, orgId }) { - + @@ -61,4 +61,5 @@ AdminPanel.propTypes = { orgSlug: string.isRequired, permission: string.isRequired, orgId: string, + verified: bool, } diff --git a/frontend/src/graphql/queries.js b/frontend/src/graphql/queries.js index 820b67c99c..e58a90b568 100644 --- a/frontend/src/graphql/queries.js +++ b/frontend/src/graphql/queries.js @@ -1145,6 +1145,7 @@ export const ADMIN_PAGE = gql` acronym slug name + verified } } }