Skip to content

Commit abb6b68

Browse files
fix(replays): port replay actions to page frame
1 parent d1a0b7c commit abb6b68

File tree

3 files changed

+48
-28
lines changed

3 files changed

+48
-28
lines changed

static/app/views/replays/list.tsx

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {Fragment} from 'react';
22

3-
import {Flex, Grid, Stack} from '@sentry/scraps/layout';
3+
import {Grid, Stack} from '@sentry/scraps/layout';
44

55
import {AnalyticsArea} from 'sentry/components/analyticsArea';
66
import {HookOrDefault} from 'sentry/components/hookOrDefault';
@@ -34,14 +34,13 @@ import {TraceItemDataset} from 'sentry/views/explore/types';
3434
import {TopBar} from 'sentry/views/navigation/topBar';
3535
import {useHasPageFrameFeature} from 'sentry/views/navigation/useHasPageFrameFeature';
3636
import {useAllMobileProj} from 'sentry/views/replays/detail/useAllMobileProj';
37-
import {ReplaysFilters} from 'sentry/views/replays/list/filters';
3837
import {ReplayIndexContainer} from 'sentry/views/replays/list/replayIndexContainer';
3938
import {ReplayIndexTimestampPrefPicker} from 'sentry/views/replays/list/replayIndexTimestampPrefPicker';
39+
import {ReplayListControls} from 'sentry/views/replays/list/replayListControls';
4040
import {ReplayOnboardingPanel} from 'sentry/views/replays/list/replayOnboardingPanel';
4141
import {ReplayQueryParamsProvider} from 'sentry/views/replays/list/replayQueryParamsProvider';
4242
import {ReplayWidgetsToggleButton} from 'sentry/views/replays/list/replayWidgetsToggleButton';
4343
import {SaveReplayQueryButton} from 'sentry/views/replays/list/saveReplayQueryButton';
44-
import {ReplaysSearch} from 'sentry/views/replays/list/search';
4544

4645
const ReplayListPageHeaderHook = HookOrDefault({
4746
hookName: 'component:replay-list-page-header',
@@ -123,7 +122,6 @@ function ReplaysHeader({
123122
export default function ReplaysListContainer() {
124123
useReplayPageview('replay.list-time-spent');
125124
const organization = useOrganization();
126-
const hasPageFrameFeature = useHasPageFrameFeature();
127125
const hasSentReplays = useHaveSelectedProjectsSentAnyReplayEvents();
128126
const {allMobileProj} = useAllMobileProj({});
129127

@@ -181,11 +179,11 @@ export default function ReplaysListContainer() {
181179
</ReplayAccess>
182180
) : (
183181
<Fragment>
184-
<Flex gap="xl" wrap="wrap">
185-
<ReplaysFilters />
186-
<ReplaysSearch />
187-
{hasPageFrameFeature ? null : <SaveReplayQueryButton />}
188-
</Flex>
182+
<ReplayListControls
183+
onToggleWidgets={toggleWidgets}
184+
showDeadRageClickCards={showDeadRageClickCards}
185+
widgetIsOpen={widgetIsOpen}
186+
/>
189187
<ReplayOnboardingPanel />
190188
</Fragment>
191189
)}

static/app/views/replays/list/replayIndexTable.tsx

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import {Fragment, useMemo, useRef} from 'react';
22
import styled from '@emotion/styled';
33

4-
import {Flex} from '@sentry/scraps/layout';
5-
64
import {usePageFilters} from 'sentry/components/pageFilters/usePageFilters';
75
import {
86
JetpackComposePiiNotice,
@@ -20,13 +18,9 @@ import type {RequestError} from 'sentry/utils/requestError/requestError';
2018
import {MutableSearch} from 'sentry/utils/tokenizeSearch';
2119
import {useDimensions} from 'sentry/utils/useDimensions';
2220
import {useProjectSdkNeedsUpdate} from 'sentry/utils/useProjectSdkNeedsUpdate';
23-
import {useHasPageFrameFeature} from 'sentry/views/navigation/useHasPageFrameFeature';
2421
import {useAllMobileProj} from 'sentry/views/replays/detail/useAllMobileProj';
2522
import {BulkDeleteAlert} from 'sentry/views/replays/list/bulkDeleteAlert';
26-
import {ReplaysFilters} from 'sentry/views/replays/list/filters';
27-
import {ReplayWidgetsToggleButton} from 'sentry/views/replays/list/replayWidgetsToggleButton';
28-
import {SaveReplayQueryButton} from 'sentry/views/replays/list/saveReplayQueryButton';
29-
import {ReplaysSearch} from 'sentry/views/replays/list/search';
23+
import {ReplayListControls} from 'sentry/views/replays/list/replayListControls';
3024
import {useReplayIndexTableColumns} from 'sentry/views/replays/list/useReplayIndexTableColumns';
3125
import {DeadRageSelectorCards} from 'sentry/views/replays/selectors/deadRageSelectorCards';
3226
import type {ReplayListRecord} from 'sentry/views/replays/types';
@@ -53,7 +47,6 @@ export function ReplayIndexTable({
5347
widgetIsOpen,
5448
}: Props) {
5549
const queryClient = useQueryClient();
56-
const hasPageFrameFeature = useHasPageFrameFeature();
5750

5851
const {
5952
selection: {projects},
@@ -80,17 +73,11 @@ export function ReplayIndexTable({
8073

8174
return (
8275
<Fragment>
83-
<Flex gap="md" wrap="wrap">
84-
<ReplaysFilters />
85-
<ReplaysSearch />
86-
{hasPageFrameFeature ? null : <SaveReplayQueryButton />}
87-
{hasPageFrameFeature ? null : showDeadRageClickCards ? (
88-
<ReplayWidgetsToggleButton
89-
onClick={onToggleWidgets}
90-
widgetIsOpen={widgetIsOpen}
91-
/>
92-
) : null}
93-
</Flex>
76+
<ReplayListControls
77+
onToggleWidgets={onToggleWidgets}
78+
showDeadRageClickCards={showDeadRageClickCards}
79+
widgetIsOpen={widgetIsOpen}
80+
/>
9481
{projects.length === 1 ? (
9582
<BulkDeleteAlert
9683
projectId={String(projects[0] ?? '')}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import {Flex} from '@sentry/scraps/layout';
2+
3+
import {useHasPageFrameFeature} from 'sentry/views/navigation/useHasPageFrameFeature';
4+
import {ReplaysFilters} from 'sentry/views/replays/list/filters';
5+
import {ReplayWidgetsToggleButton} from 'sentry/views/replays/list/replayWidgetsToggleButton';
6+
import {SaveReplayQueryButton} from 'sentry/views/replays/list/saveReplayQueryButton';
7+
import {ReplaysSearch} from 'sentry/views/replays/list/search';
8+
9+
interface Props {
10+
onToggleWidgets: () => void;
11+
showDeadRageClickCards: boolean;
12+
widgetIsOpen: boolean;
13+
}
14+
15+
export function ReplayListControls({
16+
onToggleWidgets,
17+
showDeadRageClickCards,
18+
widgetIsOpen,
19+
}: Props) {
20+
const hasPageFrameFeature = useHasPageFrameFeature();
21+
22+
return (
23+
<Flex gap="md" wrap="wrap">
24+
<ReplaysFilters />
25+
<ReplaysSearch />
26+
{hasPageFrameFeature ? null : <SaveReplayQueryButton />}
27+
{hasPageFrameFeature ? null : showDeadRageClickCards ? (
28+
<ReplayWidgetsToggleButton
29+
onClick={onToggleWidgets}
30+
widgetIsOpen={widgetIsOpen}
31+
/>
32+
) : null}
33+
</Flex>
34+
);
35+
}

0 commit comments

Comments
 (0)