Skip to content

Commit 16c843f

Browse files
authored
fix(issues): Animate dropdown chevrons, button sizes (#81262)
1 parent d325d82 commit 16c843f

File tree

2 files changed

+41
-54
lines changed

2 files changed

+41
-54
lines changed

Diff for: static/app/views/issueDetails/streamline/eventNavigation.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -286,14 +286,15 @@ export function IssueEventNavigation({event, group, query}: IssueEventNavigation
286286
},
287287
]}
288288
offset={[-2, 1]}
289-
trigger={triggerProps =>
289+
trigger={(triggerProps, isOpen) =>
290290
hideDropdownButton ? (
291291
<NavigationLabel>
292292
{TabName[currentTab] ?? TabName[Tab.DETAILS]}
293293
</NavigationLabel>
294294
) : (
295295
<NavigationDropdownButton
296296
{...triggerProps}
297+
isOpen={isOpen}
297298
borderless
298299
size="sm"
299300
disabled={hideDropdownButton}

Diff for: static/app/views/issueDetails/streamline/eventTitle.tsx

+39-53
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import {DropdownMenu} from 'sentry/components/dropdownMenu';
88
import {useActionableItems} from 'sentry/components/events/interfaces/crashContent/exception/useActionableItems';
99
import {ScrollCarousel} from 'sentry/components/scrollCarousel';
1010
import TimeSince from 'sentry/components/timeSince';
11-
import {Tooltip} from 'sentry/components/tooltip';
1211
import {IconWarning} from 'sentry/icons';
1312
import {t} from 'sentry/locale';
1413
import {space} from 'sentry/styles/space';
@@ -118,51 +117,41 @@ export const EventTitle = forwardRef<HTMLDivElement, EventNavigationProps>(
118117
<div {...props} ref={ref}>
119118
<EventInfoJumpToWrapper>
120119
<EventInfo>
121-
<EventIdInfo>
122-
<DropdownMenu
123-
trigger={(triggerProps, isOpen) => (
124-
// Tooltip split from button to prevent re-opening w/ focus event on close
125-
<Tooltip
126-
title={event.id}
127-
delay={500}
128-
overlayStyle={{maxWidth: 'max-content'}}
129-
disabled={isOpen}
130-
>
131-
<DropdownButton
132-
{...triggerProps}
133-
aria-label={t('Event actions')}
134-
size="zero"
135-
borderless
136-
isOpen={isOpen}
137-
>
138-
{getShortEventId(event.id)}
139-
</DropdownButton>
140-
</Tooltip>
141-
)}
142-
position="bottom"
143-
size="xs"
144-
items={[
145-
{
146-
key: 'copy-event-id',
147-
label: t('Copy Event ID'),
148-
onAction: copyEventId,
149-
},
150-
{
151-
key: 'copy-event-link',
152-
label: t('Copy Event Link'),
153-
onAction: copyLink,
154-
},
155-
{
156-
key: 'view-json',
157-
label: t('View JSON'),
158-
onAction: downloadJson,
159-
},
160-
]}
161-
/>
162-
</EventIdInfo>
120+
<DropdownMenu
121+
trigger={(triggerProps, isOpen) => (
122+
<EventIdDropdownButton
123+
{...triggerProps}
124+
aria-label={t('Event actions')}
125+
size="sm"
126+
borderless
127+
isOpen={isOpen}
128+
>
129+
{getShortEventId(event.id)}
130+
</EventIdDropdownButton>
131+
)}
132+
position="bottom"
133+
size="xs"
134+
items={[
135+
{
136+
key: 'copy-event-id',
137+
label: t('Copy Event ID'),
138+
onAction: copyEventId,
139+
},
140+
{
141+
key: 'copy-event-link',
142+
label: t('Copy Event Link'),
143+
onAction: copyLink,
144+
},
145+
{
146+
key: 'view-json',
147+
label: t('View JSON'),
148+
onAction: downloadJson,
149+
},
150+
]}
151+
/>
163152
<StyledTimeSince
164153
tooltipBody={<EventCreatedTooltip event={event} />}
165-
tooltipProps={{overlayStyle: {maxWidth: 300}}}
154+
tooltipProps={{maxWidth: 300}}
166155
date={event.dateCreated ?? event.dateReceived}
167156
css={grayText}
168157
aria-label={t('Event timestamp')}
@@ -257,7 +246,7 @@ const EventInfoJumpToWrapper = styled('div')`
257246
flex-direction: row;
258247
justify-content: space-between;
259248
align-items: center;
260-
padding: ${space(1)} ${space(2)};
249+
padding: 0 ${space(2)} 0 ${space(0.5)};
261250
flex-wrap: wrap;
262251
min-height: ${MIN_NAV_HEIGHT}px;
263252
@media (min-width: ${p => p.theme.breakpoints.small}) {
@@ -266,9 +255,13 @@ const EventInfoJumpToWrapper = styled('div')`
266255
border-bottom: 1px solid ${p => p.theme.translucentBorder};
267256
`;
268257

258+
const EventIdDropdownButton = styled(DropdownButton)`
259+
padding-right: ${space(0.5)};
260+
`;
261+
269262
const EventInfo = styled('div')`
270263
display: flex;
271-
gap: ${space(1)};
264+
gap: ${space(0.5)};
272265
flex-direction: row;
273266
align-items: center;
274267
line-height: 1.2;
@@ -288,13 +281,6 @@ const JumpTo = styled('div')`
288281
}
289282
`;
290283

291-
const EventIdInfo = styled('span')`
292-
display: flex;
293-
align-items: center;
294-
gap: ${space(0.25)};
295-
line-height: 1.2;
296-
`;
297-
298284
const ProcessingErrorButton = styled(Button)`
299285
color: ${p => p.theme.red300};
300286
font-weight: ${p => p.theme.fontWeightNormal};

0 commit comments

Comments
 (0)