|
@@ -16,6 +16,7 @@ import useReplayLayout from 'sentry/utils/replays/hooks/useReplayLayout';
|
|
|
import useReplayPageview from 'sentry/utils/replays/hooks/useReplayPageview';
|
|
|
import Layout from 'sentry/views/replays/detail/layout';
|
|
|
import Page from 'sentry/views/replays/detail/page';
|
|
|
+import type {ReplayRecord} from 'sentry/views/replays/types';
|
|
|
|
|
|
type Props = RouteComponentProps<
|
|
|
{orgId: string; replaySlug: string},
|
|
@@ -33,7 +34,8 @@ function ReplayDetails({
|
|
|
params: {orgId: orgSlug, replaySlug},
|
|
|
}: Props) {
|
|
|
useReplayPageview();
|
|
|
- const {fetching, onRetry, replay, fetchError} = useReplayData({
|
|
|
+
|
|
|
+ const {fetching, onRetry, replay, replayRecord, fetchError} = useReplayData({
|
|
|
replaySlug,
|
|
|
orgSlug,
|
|
|
});
|
|
@@ -41,7 +43,7 @@ function ReplayDetails({
|
|
|
if (!fetching && !replay && fetchError) {
|
|
|
if (fetchError.statusText === 'Not Found') {
|
|
|
return (
|
|
|
- <Page orgSlug={orgSlug}>
|
|
|
+ <Page orgSlug={orgSlug} replayRecord={replayRecord}>
|
|
|
<PageContent>
|
|
|
<NotFound />
|
|
|
</PageContent>
|
|
@@ -54,7 +56,7 @@ function ReplayDetails({
|
|
|
t('There is an internal systems error or active issue'),
|
|
|
];
|
|
|
return (
|
|
|
- <Page orgSlug={orgSlug}>
|
|
|
+ <Page orgSlug={orgSlug} replayRecord={replayRecord}>
|
|
|
<PageContent>
|
|
|
<DetailedError
|
|
|
onRetry={onRetry}
|
|
@@ -78,7 +80,7 @@ function ReplayDetails({
|
|
|
|
|
|
if (!fetching && replay && replay.getRRWebEvents().length < 2) {
|
|
|
return (
|
|
|
- <Page orgSlug={orgSlug} replayRecord={replay.getReplay()}>
|
|
|
+ <Page orgSlug={orgSlug} replayRecord={replayRecord}>
|
|
|
<DetailedError
|
|
|
hideSupportLinks
|
|
|
heading={t('Expected two or more replay events')}
|
|
@@ -99,21 +101,23 @@ function ReplayDetails({
|
|
|
|
|
|
return (
|
|
|
<ReplayContextProvider replay={replay} initialTimeOffset={initialTimeOffset}>
|
|
|
- <LoadedDetails orgSlug={orgSlug} />
|
|
|
+ <LoadedDetails orgSlug={orgSlug} replayRecord={replayRecord} />
|
|
|
</ReplayContextProvider>
|
|
|
);
|
|
|
}
|
|
|
|
|
|
-function LoadedDetails({orgSlug}: {orgSlug: string}) {
|
|
|
+function LoadedDetails({
|
|
|
+ orgSlug,
|
|
|
+ replayRecord,
|
|
|
+}: {
|
|
|
+ orgSlug: string;
|
|
|
+ replayRecord: ReplayRecord | undefined;
|
|
|
+}) {
|
|
|
const {getLayout} = useReplayLayout();
|
|
|
const {replay} = useReplayContext();
|
|
|
|
|
|
return (
|
|
|
- <Page
|
|
|
- orgSlug={orgSlug}
|
|
|
- crumbs={replay?.getRawCrumbs()}
|
|
|
- replayRecord={replay?.getReplay()}
|
|
|
- >
|
|
|
+ <Page orgSlug={orgSlug} crumbs={replay?.getRawCrumbs()} replayRecord={replayRecord}>
|
|
|
<Layout layout={getLayout()} />
|
|
|
</Page>
|
|
|
);
|