mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-10-30 14:49:14 +00:00
45 lines
1.5 KiB
TypeScript
45 lines
1.5 KiB
TypeScript
import type {Location} from 'history';
|
|
|
|
import Feature from 'sentry/components/acl/feature';
|
|
import {Alert} from 'sentry/components/alert';
|
|
import * as Layout from 'sentry/components/layouts/thirds';
|
|
import NoProjectMessage from 'sentry/components/noProjectMessage';
|
|
import {t} from 'sentry/locale';
|
|
import type {Organization} from 'sentry/types';
|
|
import {MetricsCardinalityProvider} from 'sentry/utils/performance/contexts/metricsCardinality';
|
|
import {MEPSettingProvider} from 'sentry/utils/performance/contexts/metricsEnhancedSetting';
|
|
import withOrganization from 'sentry/utils/withOrganization';
|
|
|
|
type Props = {
|
|
children: React.ReactNode;
|
|
location: Location;
|
|
organization: Organization;
|
|
};
|
|
|
|
function PerformanceContainer({organization, location, children}: Props) {
|
|
function renderNoAccess() {
|
|
return (
|
|
<Layout.Page withPadding>
|
|
<Alert type="warning">{t("You don't have access to this feature")}</Alert>
|
|
</Layout.Page>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<Feature
|
|
hookName="feature-disabled:performance-page"
|
|
features="performance-view"
|
|
organization={organization}
|
|
renderDisabled={renderNoAccess}
|
|
>
|
|
<NoProjectMessage organization={organization}>
|
|
<MetricsCardinalityProvider location={location} organization={organization}>
|
|
<MEPSettingProvider>{children}</MEPSettingProvider>
|
|
</MetricsCardinalityProvider>
|
|
</NoProjectMessage>
|
|
</Feature>
|
|
);
|
|
}
|
|
|
|
export default withOrganization(PerformanceContainer);
|