Skip to content
Merged
Show file tree
Hide file tree
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
Original file line number Diff line number Diff line change
Expand Up @@ -476,14 +476,12 @@ function ActivityFeedExamples({items}: {items: ActivityFeedItem[]}) {
group={group}
inputVariant="compact"
onDelete={async () => {}}
showConnector={index < items.length - 1}
/>
) : (
<ActivityLine
key={`${item.activity.id}-${index}`}
group={group}
item={item}
showConnector={index < items.length - 1}
timestampUnitStyle="short"
/>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,10 @@ import {ActivityLineMarker} from './progressMarker';
interface ActivityLineProps {
group: Group;
item: ActivityFeedItem;
showConnector?: boolean;
timestampUnitStyle?: React.ComponentProps<typeof TimeSince>['unitStyle'];
}

export function ActivityLine({
item,
group,
showConnector,
timestampUnitStyle,
}: ActivityLineProps) {
export function ActivityLine({item, group, timestampUnitStyle}: ActivityLineProps) {
const organization = useOrganization();
const showProgress = organization.features.includes('issue-activity-progress');
const {issueCategory, project} = group;
Expand All @@ -47,7 +41,7 @@ export function ActivityLine({
}

return (
<ActivityLineRow showConnector={showConnector}>
<ActivityLineRow>
<ActivityLineMarker
actorItem={actorActivity}
item={activity}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import {Fragment} from 'react';
import {css} from '@emotion/react';
import styled from '@emotion/styled';

import {Flex} from '@sentry/scraps/layout';
Expand Down Expand Up @@ -51,9 +50,7 @@ export function ActivityLineHeadline({
);
}

export const ActivityLineRow = styled('div', {
shouldForwardProp: prop => prop !== 'showConnector',
})<{showConnector?: boolean}>`
export const ActivityLineRow = styled('div')`
position: relative;
display: grid;
grid-template-columns: auto minmax(0, 1fr);
Expand All @@ -65,18 +62,15 @@ export const ActivityLineRow = styled('div', {
column-gap: ${p => p.theme.space.sm};
}

${p =>
p.showConnector &&
css`
&::before {
content: '';
position: absolute;
left: 10.5px;
top: 11px;
bottom: calc(-${p.theme.space.md} - 11px);
border-left: 1px solid ${p.theme.tokens.border.transparent.neutral.muted};
}
`}
&:not(:last-child)::before {
content: '';
position: absolute;
left: 10.5px;
top: 11px;
bottom: calc(-${p => p.theme.space.md} - 11px);
border-left: 1px solid
${p => p.theme.tokens.border.transparent.neutral.muted};
}
`;

const ActivityLineSentence = styled('span')`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ interface ActivityLineNoteProps {
inputVariant: ActivityLineVariant;
onDelete: () => Promise<void>;
onCommentEdited?: (activity: GroupActivity[]) => void;
showConnector?: boolean;
timestampUnitStyle?: React.ComponentProps<typeof TimeSince>['unitStyle'];
}

Expand All @@ -38,7 +37,6 @@ export function ActivityLineNote({
inputVariant,
onDelete,
onCommentEdited,
showConnector,
timestampUnitStyle,
}: ActivityLineNoteProps) {
const [editing, setEditing] = useState(false);
Expand All @@ -49,7 +47,7 @@ export function ActivityLineNote({
);

return (
<ActivityLineRow showConnector={showConnector}>
<ActivityLineRow>
<ActivityLineMarker item={activity} showProgress={showProgress} />
<ActivityLineNoteHeadline
title={t('%s commented', getActivityNoteAuthor(activity))}
Expand Down
22 changes: 4 additions & 18 deletions static/app/views/issueDetails/activitySection/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ interface ActivityFeedRowProps {
inputVariant: 'compact' | 'full';
item: DisplayedActivityFeedItem;
onCommentEdited?: (activity: GroupActivity[]) => void;
showConnector?: boolean;
timestampUnitStyle?: React.ComponentProps<typeof TimeSince>['unitStyle'];
}

Expand All @@ -48,7 +47,6 @@ function ActivityFeedRow({
onCommentEdited,
group,
inputVariant,
showConnector,
timestampUnitStyle,
}: ActivityFeedRowProps) {
if (item.type === 'collapsed_status_activities') {
Expand All @@ -73,12 +71,7 @@ function ActivityFeedRow({

if (!isActivityNote(activity)) {
return (
<ActivityLine
item={item}
group={group}
showConnector={showConnector}
timestampUnitStyle={timestampUnitStyle}
/>
<ActivityLine item={item} group={group} timestampUnitStyle={timestampUnitStyle} />
);
}

Expand All @@ -89,7 +82,6 @@ function ActivityFeedRow({
inputVariant={inputVariant}
onDelete={() => handleDelete(activity)}
onCommentEdited={onCommentEdited}
showConnector={showConnector}
timestampUnitStyle={timestampUnitStyle}
/>
);
Expand Down Expand Up @@ -189,18 +181,14 @@ export function ActivitySection({
const inputVariant = isStandalone ? 'full' : 'compact';
const timestampUnitStyle = isStandalone ? undefined : 'short';

const renderActivityItem = (
item: DisplayedActivityFeedItem,
showConnector: boolean
) => (
const renderActivityItem = (item: DisplayedActivityFeedItem) => (
<ActivityFeedRow
item={item}
handleDelete={handleDelete}
onCommentEdited={onCommentEdited}
group={group}
key={item.activity.id}
inputVariant={inputVariant}
showConnector={showConnector}
timestampUnitStyle={timestampUnitStyle}
/>
);
Expand All @@ -220,9 +208,7 @@ export function ActivitySection({

const timeline = (
<ActivityLineList data-test-id="activity-timeline">
{displayedActivities.map((item, index) =>
renderActivityItem(item, index < displayedActivities.length - 1)
)}
{displayedActivities.map(renderActivityItem)}
</ActivityLineList>
);
const hiddenActivityCount =
Expand All @@ -231,7 +217,7 @@ export function ActivitySection({
hiddenActivityCount > 0 ? displayedActivities.slice(0, 3) : displayedActivities;
const sidebarActivityItems = (
<Fragment>
{sidebarVisibleActivities.map(item => renderActivityItem(item, true))}
{sidebarVisibleActivities.map(renderActivityItem)}
<MoreActivityRow>
<MoreActivityIcon>
<RotatedEllipsisIcon direction="up" />
Expand Down
26 changes: 5 additions & 21 deletions static/app/views/issueList/progressActivityTooltip.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,41 +66,30 @@ function getProgressActivities(activities: GroupActivity[]): GroupActivity[] {
return activities.slice(0, MAX_ITEMS).toReversed();
}

function ProgressActivityItem({
group,
item,
showConnector,
}: {
group: Group;
item: GroupActivity;
showConnector: boolean;
}) {
function ProgressActivityItem({group, item}: {group: Group; item: GroupActivity}) {
if (isActivityNote(item)) {
return <ProgressActivityNote item={item} showConnector={showConnector} />;
return <ProgressActivityNote item={item} />;
}

return (
<ActivityLine
group={group}
item={{type: 'activity', activity: item}}
showConnector={showConnector}
timestampUnitStyle="extraShort"
/>
);
}

function ProgressActivityNote({
item,
showConnector,
}: {
item: Extract<GroupActivity, {type: GroupActivityType.NOTE}>;
showConnector: boolean;
}) {
const organization = useOrganization();
const showProgress = organization.features.includes('issue-activity-progress');

return (
<ActivityLineRow showConnector={showConnector}>
<ActivityLineRow>
<ActivityLineMarker item={item} showProgress={showProgress} />
<ActivityLineHeadline
title={getActivityNoteAuthor(item)}
Expand Down Expand Up @@ -161,13 +150,8 @@ function ProgressActivityBody({group}: {group: Group}) {
return (
<ActivityListContainer>
<ActivityLineList>
{items.map((item, index) => (
<ProgressActivityItem
key={item.id}
group={group}
item={item}
showConnector={index < items.length - 1}
/>
{items.map(item => (
<ProgressActivityItem key={item.id} group={group} item={item} />
))}
</ActivityLineList>
</ActivityListContainer>
Expand Down
Loading