import DateTime from 'sentry/components/dateTime';
import Duration from 'sentry/components/duration';
import {BannerContainer, BannerSummary} from 'sentry/components/events/styles';
import ExternalLink from 'sentry/components/links/externalLink';
import {t} from 'sentry/locale';
import {Group, GroupSubstatus, IgnoredStatusDetails, Organization} from 'sentry/types';
import {trackAnalytics} from 'sentry/utils/analytics';
interface ArchivedBoxProps {
organization: Organization;
statusDetails: IgnoredStatusDetails;
substatus: Group['substatus'];
}
function ArchivedBox({substatus, statusDetails, organization}: ArchivedBoxProps) {
function trackDocsClick() {
trackAnalytics('issue_details.issue_status_docs_clicked', {
organization,
});
}
function renderReason() {
const {ignoreUntil, ignoreCount, ignoreWindow, ignoreUserCount, ignoreUserWindow} =
statusDetails;
if (substatus === GroupSubstatus.ARCHIVED_UNTIL_ESCALATING) {
return t(
"This issue has been archived. It'll return to your inbox if it escalates. To learn more, %s",
{t('read the docs')}
);
}
if (ignoreUntil) {
return t(
'This issue has been archived until %s.',
);
}
if (ignoreCount && ignoreWindow) {
return t(
'This issue has been archived until it occurs %s time(s) in %s.',
{ignoreCount.toLocaleString()},
);
}
if (ignoreCount) {
return t(
'This issue has been archived until it occurs %s more time(s).',
{ignoreCount.toLocaleString()}
);
}
if (ignoreUserCount && ignoreUserWindow) {
return t(
'This issue has been archived until it affects %s user(s) in %s.',
{ignoreUserCount.toLocaleString()},
);
}
if (ignoreUserCount) {
return t(
'This issue has been archived until it affects %s more user(s).',
{ignoreUserCount.toLocaleString()}
);
}
return t('This issue has been archived forever.');
}
return (
{renderReason()}
);
}
export default ArchivedBox;