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;
`;