+
{type} Results
@@ -238,94 +289,103 @@ const SPFResultsCard = ({ domain }) => {
SPFResultsCard.propTypes = sharedProps
-const MXResultsCard = ({ domain }) => {
- const { data } = useListDomainTestsQuery({ domain })
- const mailProviderName = data?.MXResults?.MailProvider?.Name
+const MXDetailView = (data) => {
let records = data?.MXResults?.Records || []
if (!Array.isArray(records)) {
records = [records]
}
+
+ return (
+ <>
+ {records.length > 0 && (
+
+ MX Records
+
+
+
+ Priority
+ Hostname
+
+
+
+ {records.map((record, key) => (
+
+ {record?.Priority}
+ {record?.Hostname}
+
+ ))}
+
+
+
+ )}
+ Documentation
+
+ {data?.MXResults?.MailProvider?._MxComment && (
+
+ MX Record
+
+ )}
+ {data?.MXResults?.MailProvider?._SpfComment && (
+
+ SPF Record
+
+ )}
+ {data?.MXResults?.MailProvider?._DkimComment && (
+
+ DKIM Record
+
+ )}
+
+ >
+ )
+}
+MXDetailView.propTypes = {
+ data: PropTypes.object,
+}
+
+const MXResultsCard = ({ domain }) => {
+ const { data } = useListDomainTestsQuery({ domain })
+ const mailProviderName = data?.MXResults?.MailProvider?.Name
+
const [visible, setVisible] = useState(false)
return (
-
+
Mail Provider: {mailProviderName || 'Unknown'}
setVisible(!visible)}
+ onClick={() => setVisible(true)}
style={{ fontSize: 14 }}
color="primary"
>
- {(visible && 'Hide') || 'Show'} Details
+ Details
-
-
-
- {records.length > 0 && (
-
- MX Records
-
-
-
- Priority
- Hostname
-
-
-
- {records.map((record, key) => (
-
- {record?.Priority}
- {record?.Hostname}
-
- ))}
-
-
-
- )}
-
-
- Mail Provider Info
-
- {data?.MXResults?.MailProvider?._MxComment && (
-
- MX Record
-
- )}
- {data?.MXResults?.MailProvider?._SpfComment && (
-
- SPF Record
-
- )}
- {data?.MXResults?.MailProvider?._DkimComment && (
-
- DKIM Record
-
- )}
-
-
-
-
+ setVisible(false)}
+ title="Mail Provider Info"
+ children={MXDetailView(data)}
+ />
)
}
@@ -461,8 +521,7 @@ const DKIMResultsCard = ({ domain }) => {
{records.map((record, idx) => (
- {/*{record?.Selector}
- # TODO: Update API to expose selector name */}
+ {record?.Selector}._domainkey