import styled from '@emotion/styled'; import Button from 'sentry/components/button'; import EmptyMessage from 'sentry/components/emptyMessage'; import ProjectBadge from 'sentry/components/idBadge/projectBadge'; import {Panel, PanelBody, PanelHeader, PanelItem} from 'sentry/components/panels'; import {t} from 'sentry/locale'; import {Organization, Project} from 'sentry/types'; import withOrganization from 'sentry/utils/withOrganization'; import withProjects from 'sentry/utils/withProjects'; type Props = { organization: Organization; projects: Project[]; }; const IntegrationAlertRules = ({projects, organization}: Props) => ( <Panel> <PanelHeader>{t('Project Configuration')}</PanelHeader> <PanelBody> {projects.length === 0 && ( <EmptyMessage size="large"> {t('You have no projects to add Alert Rules to')} </EmptyMessage> )} {projects.map(project => ( <ProjectItem key={project.slug}> <ProjectBadge project={project} avatarSize={16} /> <Button to={`/organizations/${organization.slug}/alerts/${project.slug}/wizard/`} size="xs" > {t('Add Alert Rule')} </Button> </ProjectItem> ))} </PanelBody> </Panel> ); const ProjectItem = styled(PanelItem)` align-items: center; justify-content: space-between; `; export default withOrganization(withProjects(IntegrationAlertRules));