import {cloneElement, isValidElement} from 'react';
import type {RouteComponentProps} from 'react-router';
import LoadingIndicator from 'sentry/components/loadingIndicator';
import useOrganization from 'sentry/utils/useOrganization';
import useProjects from 'sentry/utils/useProjects';
interface Props
extends RouteComponentProps<{orgId: string; projectId: string; ruleId: string}, {}> {
children?: React.ReactNode;
}
function RuleDetailsContainer({children, params}: Props) {
const organization = useOrganization();
const {projects, fetching} = useProjects({slugs: [params.projectId]});
// Should almost never need to fetch project
if (fetching) {
return ;
}
return children && isValidElement(children)
? cloneElement(children, {
organization,
project: projects[0],
})
: null;
}
export default RuleDetailsContainer;