@@ -7,13 +7,13 @@ import Tag from 'sentry/components/badge/tag';
7
7
import { Button } from 'sentry/components/button' ;
8
8
import { openConfirmModal } from 'sentry/components/confirm' ;
9
9
import { DropdownMenu } from 'sentry/components/dropdownMenu' ;
10
+ import ActorBadge from 'sentry/components/idBadge/actorBadge' ;
10
11
import ProjectBadge from 'sentry/components/idBadge/projectBadge' ;
11
- import { IconEllipsis } from 'sentry/icons' ;
12
+ import { IconEllipsis , IconTimer } from 'sentry/icons' ;
12
13
import { t , tct } from 'sentry/locale' ;
13
14
import { fadeIn } from 'sentry/styles/animations' ;
14
15
import { space } from 'sentry/styles/space' ;
15
16
import type { ObjectStatus } from 'sentry/types' ;
16
- import { trimSlug } from 'sentry/utils/trimSlug' ;
17
17
import useOrganization from 'sentry/utils/useOrganization' ;
18
18
import { normalizeUrl } from 'sentry/utils/withDomainRequired' ;
19
19
import type { Monitor } from 'sentry/views/monitors/types' ;
@@ -73,22 +73,22 @@ export function OverviewRow({
73
73
< DetailsHeadline >
74
74
< Name > { monitor . name } </ Name >
75
75
</ DetailsHeadline >
76
- < ProjectScheduleDetails >
77
- < DetailsText > { scheduleAsText ( monitor . config ) } </ DetailsText >
78
- < ProjectDetails >
79
- < ProjectBadge
80
- project = { monitor . project }
81
- avatarSize = { 12 }
82
- disableLink
83
- hideName
84
- />
85
- < DetailsText > { trimSlug ( monitor . project . slug ) } </ DetailsText >
86
- </ ProjectDetails >
87
- </ ProjectScheduleDetails >
88
- < MonitorStatuses >
89
- { monitor . isMuted && < Tag > { t ( 'Muted ' ) } </ Tag > }
90
- { isDisabled && < Tag > { t ( 'Disabled' ) } </ Tag > }
91
- </ MonitorStatuses >
76
+ < DetailsContainer >
77
+ < OwnershipDetails >
78
+ < ProjectBadge project = { monitor . project } avatarSize = { 12 } disableLink / >
79
+ { organization . features . includes ( 'crons-ownership' ) && monitor . owner && (
80
+ < ActorBadge actor = { monitor . owner } avatarSize = { 12 } />
81
+ ) }
82
+ </ OwnershipDetails >
83
+ < ScheduleDetails >
84
+ < IconTimer size = "xs" />
85
+ { scheduleAsText ( monitor . config ) }
86
+ </ ScheduleDetails >
87
+ < MonitorStatuses >
88
+ { monitor . isMuted && < Tag > { t ( 'Muted' ) } </ Tag > }
89
+ { isDisabled && < Tag > { t ( 'Disabled ' ) } </ Tag > }
90
+ </ MonitorStatuses >
91
+ </ DetailsContainer >
92
92
</ DetailsLink >
93
93
< DetailsActions >
94
94
{ onToggleStatus && (
@@ -235,34 +235,36 @@ const DetailsActions = styled('div')`
235
235
const DetailsHeadline = styled ( 'div' ) `
236
236
display: grid;
237
237
gap: ${ space ( 1 ) } ;
238
-
239
238
grid-template-columns: 1fr minmax(30px, max-content);
240
239
` ;
241
240
242
- const ProjectScheduleDetails = styled ( 'div' ) `
241
+ const DetailsContainer = styled ( 'div' ) `
243
242
display: flex;
244
- gap: ${ space ( 1 ) } ;
245
- flex-wrap: wrap ;
243
+ flex-direction: column ;
244
+ gap: ${ space ( 0.5 ) } ;
246
245
` ;
247
246
248
- const ProjectDetails = styled ( 'div' ) `
247
+ const OwnershipDetails = styled ( 'div' ) `
249
248
display: flex;
250
- gap: ${ space ( 0.5 ) } ;
249
+ gap: ${ space ( 0.75 ) } ;
250
+ font-size: ${ p => p . theme . fontSizeSmall } ;
251
251
` ;
252
252
253
253
const MonitorStatuses = styled ( 'div' ) `
254
254
display: flex;
255
255
gap: ${ space ( 0.5 ) } ;
256
- margin-top: ${ space ( 1 ) } ;
257
256
` ;
258
257
259
258
const Name = styled ( 'h3' ) `
260
259
font-size: ${ p => p . theme . fontSizeLarge } ;
261
- margin-bottom: ${ space ( 0.25 ) } ;
262
260
word-break: break-word;
261
+ margin-bottom: ${ space ( 0.5 ) } ;
263
262
` ;
264
263
265
- const DetailsText = styled ( 'small' ) `
264
+ const ScheduleDetails = styled ( 'small' ) `
265
+ display: flex;
266
+ gap: ${ space ( 0.5 ) } ;
267
+ align-items: center;
266
268
color: ${ p => p . theme . subText } ;
267
269
font-size: ${ p => p . theme . fontSizeSmall } ;
268
270
` ;
0 commit comments