Skip to content

Commit 72454a6

Browse files
feat(uptime): Add "Uptime Monitors" to Frontend Insights (#87124)
1 parent 97c361e commit 72454a6

File tree

4 files changed

+44
-30
lines changed

4 files changed

+44
-30
lines changed

static/app/views/insights/pages/backend/settings.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ export const MODULES = [
1010
ModuleName.HTTP,
1111
ModuleName.CACHE,
1212
ModuleName.QUEUE,
13+
ModuleName.SESSIONS,
1314
ModuleName.CRONS,
1415
ModuleName.UPTIME,
15-
ModuleName.SESSIONS,
1616
];
1717

1818
export const OVERVIEW_PAGE_ALLOWED_OPS = ['http.server'];

static/app/views/insights/pages/frontend/settings.ts

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export const MODULES = [
2121
ModuleName.HTTP,
2222
ModuleName.RESOURCE,
2323
ModuleName.SESSIONS,
24+
ModuleName.UPTIME,
2425
];
2526

2627
// Mirrors `FRONTEND` in src/sentry/utils/platform_categories.py, except shared platforms are removed

static/app/views/insights/uptime/views/overview.spec.tsx

+5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
import {LocationFixture} from 'sentry-fixture/locationFixture';
12
import {ProjectFixture} from 'sentry-fixture/project';
3+
import {RouterFixture} from 'sentry-fixture/routerFixture';
24
import {TeamFixture} from 'sentry-fixture/team';
35
import {UptimeRuleFixture} from 'sentry-fixture/uptimeRule';
46

@@ -78,6 +80,9 @@ describe('Uptime Overview', function () {
7880
'uptime',
7981
],
8082
},
83+
router: RouterFixture({
84+
location: LocationFixture({pathname: '/insights/backend/uptime'}),
85+
}),
8186
});
8287
OrganizationStore.onUpdate(organization);
8388

static/app/views/insights/uptime/views/overview.tsx

+37-29
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ import {makeAlertsPathname} from 'sentry/views/alerts/pathnames';
3333
import type {UptimeRule} from 'sentry/views/alerts/rules/uptime/types';
3434
import {ModulePageProviders} from 'sentry/views/insights/common/components/modulePageProviders';
3535
import {BackendHeader} from 'sentry/views/insights/pages/backend/backendPageHeader';
36+
import {BACKEND_LANDING_SUB_PATH} from 'sentry/views/insights/pages/backend/settings';
37+
import {FrontendHeader} from 'sentry/views/insights/pages/frontend/frontendPageHeader';
38+
import {FRONTEND_LANDING_SUB_PATH} from 'sentry/views/insights/pages/frontend/settings';
39+
import {useDomainViewFilters} from 'sentry/views/insights/pages/useFilters';
3640
import {ModuleName} from 'sentry/views/insights/types';
3741
import {OwnerFilter} from 'sentry/views/monitors/components/ownerFilter';
3842

@@ -45,6 +49,7 @@ export default function UptimeOverview() {
4549
const location = useLocation();
4650
const project = decodeList(location.query?.project);
4751
const {projects} = useProjects();
52+
const {view = ''} = useDomainViewFilters();
4853

4954
function makeQueryKey() {
5055
const {query, environment, owner, cursor, sort, asc} = location.query;
@@ -93,37 +98,40 @@ export default function UptimeOverview() {
9398
{settingsLink: <Link to={`/settings/${organization.slug}`} />}
9499
);
95100

101+
const headerProps = {
102+
module: ModuleName.UPTIME,
103+
headerTitle: (
104+
<Fragment>
105+
{MODULE_TITLE}
106+
<PageHeadingQuestionTooltip
107+
docsUrl={MODULE_DOC_LINK}
108+
title={MODULE_DESCRIPTION}
109+
/>
110+
</Fragment>
111+
),
112+
headerActions: (
113+
<ButtonBar gap={1}>
114+
<LinkButton
115+
size="sm"
116+
priority="primary"
117+
to={makeAlertsPathname({
118+
path: `/new/uptime/`,
119+
organization,
120+
})}
121+
icon={<IconAdd isCircled />}
122+
disabled={!canCreateAlert}
123+
title={canCreateAlert ? undefined : permissionTooltipText}
124+
>
125+
{t('Add Uptime Monitor')}
126+
</LinkButton>
127+
</ButtonBar>
128+
),
129+
};
130+
96131
return (
97132
<ModulePageProviders moduleName="uptime" pageTitle={t('Overview')}>
98-
<BackendHeader
99-
module={ModuleName.UPTIME}
100-
headerTitle={
101-
<Fragment>
102-
{MODULE_TITLE}
103-
<PageHeadingQuestionTooltip
104-
docsUrl={MODULE_DOC_LINK}
105-
title={MODULE_DESCRIPTION}
106-
/>
107-
</Fragment>
108-
}
109-
headerActions={
110-
<ButtonBar gap={1}>
111-
<LinkButton
112-
size="sm"
113-
priority="primary"
114-
to={makeAlertsPathname({
115-
path: `/new/uptime/`,
116-
organization,
117-
})}
118-
icon={<IconAdd isCircled />}
119-
disabled={!canCreateAlert}
120-
title={canCreateAlert ? undefined : permissionTooltipText}
121-
>
122-
{t('Add Uptime Monitor')}
123-
</LinkButton>
124-
</ButtonBar>
125-
}
126-
/>
133+
{view === FRONTEND_LANDING_SUB_PATH && <FrontendHeader {...headerProps} />}
134+
{view === BACKEND_LANDING_SUB_PATH && <BackendHeader {...headerProps} />}
127135
<Layout.Body>
128136
<Layout.Main fullWidth>
129137
<Filters>

0 commit comments

Comments
 (0)