mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-10-30 14:49:14 +00:00
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import FieldGroup from 'sentry/components/forms/fieldGroup';
|
|
import Link from 'sentry/components/links/link';
|
|
import Panel from 'sentry/components/panels/panel';
|
|
import PanelAlert from 'sentry/components/panels/panelAlert';
|
|
import PanelBody from 'sentry/components/panels/panelBody';
|
|
import PanelHeader from 'sentry/components/panels/panelHeader';
|
|
import TextCopyInput from 'sentry/components/textCopyInput';
|
|
import {t, tct} from 'sentry/locale';
|
|
import type {ProjectKey} from 'sentry/types';
|
|
import getDynamicText from 'sentry/utils/getDynamicText';
|
|
|
|
const DEFAULT_ENDPOINT = 'https://sentry.example.com/api/security-report/';
|
|
|
|
export function getSecurityDsn(keyList: ProjectKey[]) {
|
|
const endpoint = keyList.length ? keyList[0].dsn.security : DEFAULT_ENDPOINT;
|
|
return getDynamicText({
|
|
value: endpoint,
|
|
fixed: DEFAULT_ENDPOINT,
|
|
});
|
|
}
|
|
|
|
type Props = {
|
|
keyList: ProjectKey[];
|
|
orgId: string;
|
|
projectId: string;
|
|
};
|
|
|
|
export default function ReportUri({keyList, orgId, projectId}: Props) {
|
|
return (
|
|
<Panel>
|
|
<PanelHeader>{t('Report URI')}</PanelHeader>
|
|
<PanelBody>
|
|
<PanelAlert type="info">
|
|
{tct(
|
|
"We've automatically pulled these credentials from your available [link:Client Keys]",
|
|
{
|
|
link: <Link to={`/settings/${orgId}/projects/${projectId}/keys/`} />,
|
|
}
|
|
)}
|
|
</PanelAlert>
|
|
<FieldGroup inline={false} flexibleControlStateSize>
|
|
<TextCopyInput>{getSecurityDsn(keyList)}</TextCopyInput>
|
|
</FieldGroup>
|
|
</PanelBody>
|
|
</Panel>
|
|
);
|
|
}
|