2021-11-12 15:19:16 -06:00
|
|
|
import React from 'react';
|
2022-04-22 08:33:13 -05:00
|
|
|
|
2021-07-22 01:15:39 -05:00
|
|
|
import { AlertingPageWrapper } from './components/AlertingPageWrapper';
|
2021-11-12 15:19:16 -06:00
|
|
|
import AlertmanagerConfig from './components/admin/AlertmanagerConfig';
|
|
|
|
import { ExternalAlertmanagers } from './components/admin/ExternalAlertmanagers';
|
2022-08-01 03:20:43 -05:00
|
|
|
import { useAlertManagerSourceName } from './hooks/useAlertManagerSourceName';
|
|
|
|
import { useAlertManagersByPermission } from './hooks/useAlertManagerSources';
|
|
|
|
import { GRAFANA_RULES_SOURCE_NAME } from './utils/datasource';
|
2021-07-22 01:15:39 -05:00
|
|
|
|
|
|
|
export default function Admin(): JSX.Element {
|
2022-08-01 03:20:43 -05:00
|
|
|
const alertManagers = useAlertManagersByPermission('notification');
|
|
|
|
const [alertManagerSourceName] = useAlertManagerSourceName(alertManagers);
|
|
|
|
|
|
|
|
const isGrafanaAmSelected = alertManagerSourceName === GRAFANA_RULES_SOURCE_NAME;
|
|
|
|
|
2021-07-22 01:15:39 -05:00
|
|
|
return (
|
|
|
|
<AlertingPageWrapper pageId="alerting-admin">
|
2021-11-12 15:19:16 -06:00
|
|
|
<AlertmanagerConfig test-id="admin-alertmanagerconfig" />
|
2022-08-01 03:20:43 -05:00
|
|
|
{isGrafanaAmSelected && <ExternalAlertmanagers test-id="admin-externalalertmanagers" />}
|
2021-07-22 01:15:39 -05:00
|
|
|
</AlertingPageWrapper>
|
|
|
|
);
|
|
|
|
}
|