import styled from '@emotion/styled'; import EventOrGroupExtraDetails from 'sentry/components/eventOrGroupExtraDetails'; import EventOrGroupHeader from 'sentry/components/eventOrGroupHeader'; import TimeSince from 'sentry/components/timeSince'; import {IconExclamation, IconSentry} from 'sentry/icons'; import {t} from 'sentry/locale'; import space from 'sentry/styles/space'; import useOrganization from 'sentry/utils/useOrganization'; import {ReleaseActivityRow} from './releaseActivityRow'; import { ReleaseActivity, ReleaseActivityDeployed, ReleaseActivityIssue, ReleaseActivityType, } from './types'; function ReleaseActivityStartStop(props: ReleaseActivityItemProps) { const isFinished = props.activity.type === ReleaseActivityType.FINISHED; return ( } iconColor="gray500" hideConnector={isFinished} >
{isFinished ? t('Release has been deployed for an hour and is no longer active') : t('Release Created')}
); } export function ReleaseActivityWaiting() { return ( } iconColor="gray500" hideConnector > {t('Waiting for issues in this release...')} ); } interface ReleaseActivityDeployProps { activity: ReleaseActivityDeployed; } function ReleaseActivityDeploy(props: ReleaseActivityDeployProps) { return ( } iconColor="gray500" >
{t('Deployed to %s', props.activity.data.environment)}
); } interface ReleaseIssueActivityProps { activity: ReleaseActivityIssue; } function ReleaseIssueActivity(props: ReleaseIssueActivityProps) { const org = useOrganization(); const group = props.activity.data.group; return ( } iconColor="yellow300" > ); } interface ReleaseActivityItemProps { activity: ReleaseActivity; } export function ReleaseActivityItem(props: ReleaseActivityItemProps) { switch (props.activity.type) { case ReleaseActivityType.CREATED: case ReleaseActivityType.FINISHED: return ; case ReleaseActivityType.DEPLOYED: return ; case ReleaseActivityType.ISSUE: return ; default: return null; } } const DateContainer = styled('div')` color: ${p => p.theme.subText}; font-size: ${p => p.theme.fontSizeMedium}; `; // Fix sentry icon looking off center const StyledIconSentry = styled(IconSentry)` margin-top: -${space(0.5)}; `; const GroupSummary = styled('div')` overflow: hidden; flex: 1; margin-top: ${space(0.75)}; `; const WaitingContainer = styled('div')` padding: ${space(1.5)} 0; `;