Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 1 addition & 74 deletions static/app/views/issueDetails/streamline/eventTitle.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {Fragment, useCallback, useMemo, type CSSProperties} from 'react';
import {Fragment, useCallback, type CSSProperties} from 'react';
import {css, useTheme} from '@emotion/react';
import styled from '@emotion/styled';
// eslint-disable-next-line no-restricted-imports
Expand All @@ -8,9 +8,7 @@ import {Button} from '@sentry/scraps/button';
import {Flex} from '@sentry/scraps/layout';
import {ExternalLink} from '@sentry/scraps/link';

import {useAutofixData} from 'sentry/components/events/autofix/useAutofix';
import {useActionableItemsWithProguardErrors} from 'sentry/components/events/interfaces/crashContent/exception/useActionableItems';
import {useGroupSummaryData} from 'sentry/components/group/groupSummary';
import TimeSince from 'sentry/components/timeSince';
import {IconCopy, IconWarning} from 'sentry/icons';
import {t} from 'sentry/locale';
Expand All @@ -29,10 +27,6 @@ import {Divider} from 'sentry/views/issueDetails/divider';
import EventCreatedTooltip from 'sentry/views/issueDetails/eventCreatedTooltip';
import {SectionKey} from 'sentry/views/issueDetails/streamline/context';
import {getFoldSectionKey} from 'sentry/views/issueDetails/streamline/foldSection';
import {
issueAndEventToMarkdown,
useActiveThreadId,
} from 'sentry/views/issueDetails/streamline/hooks/useCopyIssueDetails';
import {IssueDetailsJumpTo} from 'sentry/views/issueDetails/streamline/issueDetailsJumpTo';

type EventNavigationProps = {
Expand All @@ -49,55 +43,6 @@ type EventNavigationProps = {

export const MIN_NAV_HEIGHT = 44;

function GroupMarkdownButton({group, event}: {event: Event; group: Group}) {
const organization = useOrganization();
const activeThreadId = useActiveThreadId();

// Get data for markdown copy functionality
const {data: groupSummaryData} = useGroupSummaryData(group);
const {data: autofixData} = useAutofixData({groupId: group.id});

const markdownText = useMemo(() => {
return issueAndEventToMarkdown(
group,
event,
groupSummaryData,
autofixData,
activeThreadId
);
}, [group, event, groupSummaryData, autofixData, activeThreadId]);

const {copy} = useCopyToClipboard();

const handleCopyMarkdown = useCallback(() => {
copy(markdownText, {successMessage: t('Copied issue to clipboard as Markdown')}).then(
() => {
trackAnalytics('issue_details.copy_issue_details_as_markdown', {
organization,
groupId: group.id,
eventId: event?.id,
hasAutofix: Boolean(autofixData),
hasSummary: Boolean(groupSummaryData),
});
}
);
}, [
copy,
markdownText,
organization,
group.id,
event?.id,
autofixData,
groupSummaryData,
]);

return (
<MarkdownButton priority="link" onClick={handleCopyMarkdown}>
{t('Copy as Markdown')}
</MarkdownButton>
);
}

export function EventTitle({event, group, ref, ...props}: EventNavigationProps) {
const organization = useOrganization();
const theme = useTheme();
Expand Down Expand Up @@ -172,8 +117,6 @@ export function EventTitle({event, group, ref, ...props}: EventNavigationProps)
>
{t('JSON')}
</JsonLink>
<Divider />
<GroupMarkdownButton group={group} event={event} />
</Flex>
{actionableItems && actionableItems.length > 0 && (
<Fragment>
Expand Down Expand Up @@ -259,22 +202,6 @@ const JsonLink = styled(ExternalLink)`
}
`;

const MarkdownButton = styled(Button)`
color: ${p => p.theme.tokens.content.secondary};
text-decoration: underline;
text-decoration-color: ${p => color(p.theme.colors.gray400).alpha(0.5).string()};
font-size: inherit;
font-weight: normal;
cursor: pointer;
white-space: nowrap;

:hover {
color: ${p => p.theme.tokens.content.secondary};
text-decoration: underline;
text-decoration-color: ${p => p.theme.tokens.content.secondary};
}
`;

const EventIdWrapper = styled('div')`
display: flex;
gap: ${p => p.theme.space['2xs']};
Expand Down
Loading