|
@@ -7,27 +7,21 @@ import Placeholder from 'sentry/components/placeholder';
|
|
|
import TimeSince from 'sentry/components/timeSince';
|
|
|
import {IconCalendar, IconClock, IconFire} from 'sentry/icons';
|
|
|
import space from 'sentry/styles/space';
|
|
|
-import type {Crumb} from 'sentry/types/breadcrumbs';
|
|
|
-import {defined} from 'sentry/utils';
|
|
|
import useProjects from 'sentry/utils/useProjects';
|
|
|
import {useRouteContext} from 'sentry/utils/useRouteContext';
|
|
|
import type {ReplayRecord} from 'sentry/views/replays/types';
|
|
|
|
|
|
type Props = {
|
|
|
- crumbs: Crumb[] | undefined;
|
|
|
- durationMs: number | undefined;
|
|
|
replayRecord: ReplayRecord | undefined;
|
|
|
};
|
|
|
|
|
|
-function EventMetaData({crumbs, durationMs, replayRecord}: Props) {
|
|
|
+function ReplayMetaData({replayRecord}: Props) {
|
|
|
const {
|
|
|
params: {replaySlug},
|
|
|
} = useRouteContext();
|
|
|
const {projects} = useProjects();
|
|
|
const [slug] = replaySlug.split(':');
|
|
|
|
|
|
- const errors = crumbs?.filter(crumb => crumb.type === 'error').length;
|
|
|
-
|
|
|
return (
|
|
|
<KeyMetrics>
|
|
|
{replayRecord ? (
|
|
@@ -54,11 +48,11 @@ function EventMetaData({crumbs, durationMs, replayRecord}: Props) {
|
|
|
)}
|
|
|
</KeyMetricData>
|
|
|
<KeyMetricData>
|
|
|
- {durationMs !== undefined ? (
|
|
|
+ {replayRecord ? (
|
|
|
<React.Fragment>
|
|
|
<IconClock color="gray300" />
|
|
|
<Duration
|
|
|
- seconds={Math.floor(msToSec(durationMs || 0)) || 1}
|
|
|
+ seconds={Math.floor(msToSec(replayRecord?.duration || 0)) || 1}
|
|
|
abbreviation
|
|
|
exact
|
|
|
/>
|
|
@@ -68,10 +62,10 @@ function EventMetaData({crumbs, durationMs, replayRecord}: Props) {
|
|
|
)}
|
|
|
</KeyMetricData>
|
|
|
<KeyMetricData>
|
|
|
- {defined(errors) ? (
|
|
|
+ {replayRecord ? (
|
|
|
<React.Fragment>
|
|
|
<IconFire color="red300" />
|
|
|
- {errors}
|
|
|
+ {replayRecord?.countErrors}
|
|
|
</React.Fragment>
|
|
|
) : (
|
|
|
<HeaderPlaceholder />
|
|
@@ -112,4 +106,4 @@ const KeyMetricData = styled('div')`
|
|
|
line-height: ${p => p.theme.text.lineHeightBody};
|
|
|
`;
|
|
|
|
|
|
-export default EventMetaData;
|
|
|
+export default ReplayMetaData;
|