Event ID:
{(event.dateCreated ?? event.dateReceived) && (
{getDynamicText({
fixed: 'Jan 1, 12:00 AM',
value: (
}
overlayStyle={{maxWidth: 300}}
>
),
})}
{isOverLatencyThreshold && (
)}
)}
,
showChevron: false,
size: BUTTON_SIZE,
}}
items={[
{
key: 'copy-event-id',
label: t('Copy Event ID'),
onAction: () => copyToClipboard(event.id),
},
{
key: 'copy-event-url',
label: t('Copy Event Link'),
hidden: xlargeViewport,
onAction: copyLink,
},
{
key: 'json',
label: `JSON (${formatBytesBase2(event.size)})`,
onAction: downloadJson,
hidden: xlargeViewport,
},
{
key: 'full-event-discover',
label: t('Full Event Details'),
hidden: !organization.features.includes('discover-basic'),
to: eventDetailsRoute({
eventSlug: generateEventSlug({project: projectSlug, id: event.id}),
orgSlug: organization.slug,
}),
onAction: () => {
trackAnalytics('issue_details.event_details_clicked', {
organization,
...getAnalyticsDataForGroup(group),
...getAnalyticsDataForEvent(event),
});
},
},
{
key: 'replay',
label: t('View Replay'),
hidden: !hasReplay || !isReplayEnabled,
onAction: () => {
const breadcrumbsHeader = document.getElementById('breadcrumbs');
if (breadcrumbsHeader) {
breadcrumbsHeader.scrollIntoView({behavior: 'smooth'});
}
trackAnalytics('issue_details.header_view_replay_clicked', {
organization,
...getAnalyticsDataForGroup(group),
...getAnalyticsDataForEvent(event),
});
},
},
]}
/>
{xlargeViewport && (
)}
{xlargeViewport && (
}
onClick={downloadJson}
>
JSON
)}
{!isHelpfulEventUiEnabled && (
}
disabled={!hasPreviousEvent}
title={t('First Event')}
eventId="oldest"
referrer="oldest-event"
/>
)}
}
disabled={!hasPreviousEvent}
title={t('Previous Event')}
eventId={event.previousEventID}
referrer="previous-event"
/>
}
disabled={!hasNextEvent}
title={t('Next Event')}
eventId={event.nextEventID}
referrer="next-event"
/>
{!isHelpfulEventUiEnabled && (
}
disabled={!hasNextEvent}
title={t('Latest Event')}
eventId="latest"
referrer="latest-event"
/>
)}
);
}
const CarouselAndButtonsWrapper = styled('div')`
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: ${space(1)};
margin-bottom: ${space(0.5)};
`;
const EventHeading = styled('div')`
display: flex;
align-items: center;
flex-wrap: wrap;
gap: ${space(1)};
font-size: ${p => p.theme.fontSizeLarge};
@media (max-width: 600px) {
font-size: ${p => p.theme.fontSizeMedium};
}
`;
const ActionsWrapper = styled('div')`
display: flex;
align-items: center;
gap: ${space(0.5)};
`;
const StyledNavButton = styled(Button)`
border-radius: 0;
`;
const NavButtons = styled('div')`
display: flex;
> * {
&:not(:last-child) {
${StyledNavButton} {
border-right: none;
}
}
&:first-child {
${StyledNavButton} {
border-radius: ${p => p.theme.borderRadius} 0 0 ${p => p.theme.borderRadius};
}
}
&:last-child {
${StyledNavButton} {
border-radius: 0 ${p => p.theme.borderRadius} ${p => p.theme.borderRadius} 0;
}
}
}
`;
const EventIdAndTimeContainer = styled('div')`
display: flex;
align-items: center;
column-gap: ${space(0.75)};
row-gap: 0;
flex-wrap: wrap;
`;
const EventIdContainer = styled('div')`
display: flex;
align-items: center;
column-gap: ${space(0.25)};
`;
const EventTimeLabel = styled('span')`
color: ${p => p.theme.subText};
`;
const StyledIconWarning = styled(IconWarning)`
margin-left: ${space(0.25)};
position: relative;
top: 1px;
`;
const EventId = styled('span')`
position: relative;
font-weight: normal;
font-size: ${p => p.theme.fontSizeLarge};
&:hover {
> span {
display: flex;
}
}
@media (max-width: 600px) {
font-size: ${p => p.theme.fontSizeMedium};
}
`;
const CopyIconContainer = styled('span')`
display: none;
align-items: center;
padding: ${space(0.25)};
background: ${p => p.theme.background};
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
`;