diff --git a/x-pack/plugins/security_solution/public/landing_pages/components/landing_links_icons.test.tsx b/x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_icons.test.tsx
similarity index 80%
rename from x-pack/plugins/security_solution/public/landing_pages/components/landing_links_icons.test.tsx
rename to x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_icons.test.tsx
index eb986c7787769..c90327bc10929 100644
--- a/x-pack/plugins/security_solution/public/landing_pages/components/landing_links_icons.test.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_icons.test.tsx
@@ -7,11 +7,11 @@
import { render } from '@testing-library/react';
import React from 'react';
-import { SecurityPageName } from '../../app/types';
-import type { NavLinkItem } from '../../common/components/navigation/types';
-import { TestProviders } from '../../common/mock';
+import { SecurityPageName } from '../../../app/types';
+import type { NavLinkItem } from '../navigation/types';
+import { TestProviders } from '../../mock';
import { LandingLinksIcons } from './landing_links_icons';
-import * as telemetry from '../../common/lib/telemetry';
+import * as telemetry from '../../lib/telemetry';
const DEFAULT_NAV_ITEM: NavLinkItem = {
id: SecurityPageName.overview,
@@ -22,8 +22,8 @@ const DEFAULT_NAV_ITEM: NavLinkItem = {
const spyTrack = jest.spyOn(telemetry, 'track');
const mockNavigateTo = jest.fn();
-jest.mock('../../common/lib/kibana', () => {
- const originalModule = jest.requireActual('../../common/lib/kibana');
+jest.mock('../../lib/kibana', () => {
+ const originalModule = jest.requireActual('../../lib/kibana');
return {
...originalModule,
useNavigateTo: () => ({
@@ -32,8 +32,8 @@ jest.mock('../../common/lib/kibana', () => {
};
});
-jest.mock('../../common/components/link_to', () => {
- const originalModule = jest.requireActual('../../common/components/link_to');
+jest.mock('../link_to', () => {
+ const originalModule = jest.requireActual('../link_to');
return {
...originalModule,
useGetSecuritySolutionUrl: () =>
diff --git a/x-pack/plugins/security_solution/public/landing_pages/components/landing_links_icons.tsx b/x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_icons.tsx
similarity index 87%
rename from x-pack/plugins/security_solution/public/landing_pages/components/landing_links_icons.tsx
rename to x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_icons.tsx
index 01ba5862795ce..eddaa063aa783 100644
--- a/x-pack/plugins/security_solution/public/landing_pages/components/landing_links_icons.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_icons.tsx
@@ -8,13 +8,10 @@ import { EuiFlexGrid, EuiFlexGroup, EuiFlexItem, EuiIcon, EuiText, EuiTitle } fr
import React from 'react';
import styled from 'styled-components';
-import { NavItemBetaBadge } from '../../common/components/navigation/nav_item_beta_badge';
-import {
- SecuritySolutionLinkAnchor,
- withSecuritySolutionLink,
-} from '../../common/components/links';
-import type { NavLinkItem } from '../../common/components/navigation/types';
-import { METRIC_TYPE, TELEMETRY_EVENT, track } from '../../common/lib/telemetry';
+import { NavItemBetaBadge } from '../navigation/nav_item_beta_badge';
+import { SecuritySolutionLinkAnchor, withSecuritySolutionLink } from '../links';
+import type { NavLinkItem } from '../navigation/types';
+import { METRIC_TYPE, TELEMETRY_EVENT, track } from '../../lib/telemetry';
interface LandingLinksImagesProps {
items: NavLinkItem[];
diff --git a/x-pack/plugins/security_solution/public/landing_pages/components/landing_links_images.test.tsx b/x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_images.test.tsx
similarity index 93%
rename from x-pack/plugins/security_solution/public/landing_pages/components/landing_links_images.test.tsx
rename to x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_images.test.tsx
index bf796b52f8fcd..69dbf83877edd 100644
--- a/x-pack/plugins/security_solution/public/landing_pages/components/landing_links_images.test.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_images.test.tsx
@@ -8,11 +8,11 @@
import { render } from '@testing-library/react';
import React from 'react';
import { BETA } from '@kbn/kubernetes-security-plugin/common/translations';
-import { SecurityPageName } from '../../app/types';
-import type { NavLinkItem } from '../../common/components/navigation/types';
-import { TestProviders } from '../../common/mock';
+import { SecurityPageName } from '../../../app/types';
+import type { NavLinkItem } from '../navigation/types';
+import { TestProviders } from '../../mock';
import { LandingLinksImages, LandingImageCards } from './landing_links_images';
-import * as telemetry from '../../common/lib/telemetry';
+import * as telemetry from '../../lib/telemetry';
const DEFAULT_NAV_ITEM: NavLinkItem = {
id: SecurityPageName.overview,
@@ -29,7 +29,7 @@ const BETA_NAV_ITEM: NavLinkItem = {
isBeta: true,
};
-jest.mock('../../common/lib/kibana/kibana_react', () => {
+jest.mock('../../lib/kibana/kibana_react', () => {
return {
useKibana: jest.fn().mockReturnValue({
services: {
diff --git a/x-pack/plugins/security_solution/public/landing_pages/components/landing_links_images.tsx b/x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_images.tsx
similarity index 93%
rename from x-pack/plugins/security_solution/public/landing_pages/components/landing_links_images.tsx
rename to x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_images.tsx
index a71d93f9284e3..6bd4d51bd8618 100644
--- a/x-pack/plugins/security_solution/public/landing_pages/components/landing_links_images.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/landing_links/landing_links_images.tsx
@@ -16,10 +16,10 @@ import {
import { METRIC_TYPE } from '@kbn/analytics';
import React from 'react';
import styled from 'styled-components';
-import { withSecuritySolutionLink } from '../../common/components/links';
-import { NavItemBetaBadge } from '../../common/components/navigation/nav_item_beta_badge';
-import type { NavLinkItem } from '../../common/components/navigation/types';
-import { TELEMETRY_EVENT, track } from '../../common/lib/telemetry';
+import { withSecuritySolutionLink } from '../links';
+import { NavItemBetaBadge } from '../navigation/nav_item_beta_badge';
+import type { NavLinkItem } from '../navigation/types';
+import { TELEMETRY_EVENT, track } from '../../lib/telemetry';
interface LandingImagesProps {
items: NavLinkItem[];
diff --git a/x-pack/plugins/security_solution/public/common/links/app_links.ts b/x-pack/plugins/security_solution/public/common/links/app_links.ts
index 51f40c692e8cb..7a8b110360c71 100644
--- a/x-pack/plugins/security_solution/public/common/links/app_links.ts
+++ b/x-pack/plugins/security_solution/public/common/links/app_links.ts
@@ -11,7 +11,7 @@ import { links as detectionLinks } from '../../detections/links';
import { links as timelinesLinks } from '../../timelines/links';
import { getCasesLinkItems } from '../../cases/links';
import { links as managementLinks, getManagementFilteredLinks } from '../../management/links';
-import { threatHuntingLandingLinks } from '../../landing_pages/links';
+import { exploreLinks } from '../../explore/links';
import { gettingStartedLinks } from '../../overview/links';
import { rootLinks as cloudSecurityPostureRootLinks } from '../../cloud_security_posture/links';
import type { StartPlugins } from '../../types';
@@ -25,10 +25,10 @@ export const links = Object.freeze([
cloudSecurityPostureRootLinks,
timelinesLinks,
casesLinks,
- threatHuntingLandingLinks,
+ exploreLinks,
+ indicatorsLinks,
gettingStartedLinks,
managementLinks,
- indicatorsLinks,
]);
export const getFilteredLinks = async (
@@ -43,9 +43,9 @@ export const getFilteredLinks = async (
cloudSecurityPostureRootLinks,
timelinesLinks,
casesLinks,
- threatHuntingLandingLinks,
+ exploreLinks,
+ indicatorsLinks,
gettingStartedLinks,
managementFilteredLinks,
- indicatorsLinks,
]);
};
diff --git a/x-pack/plugins/security_solution/public/dashboards/pages/landing_page/index.tsx b/x-pack/plugins/security_solution/public/dashboards/pages/landing_page/index.tsx
index 3099da95687e7..513ad89c482c2 100644
--- a/x-pack/plugins/security_solution/public/dashboards/pages/landing_page/index.tsx
+++ b/x-pack/plugins/security_solution/public/dashboards/pages/landing_page/index.tsx
@@ -10,7 +10,7 @@ import type { DashboardCapabilities } from '@kbn/dashboard-plugin/common/types';
import { LEGACY_DASHBOARD_APP_ID } from '@kbn/dashboard-plugin/public';
import { SecuritySolutionPageWrapper } from '../../../common/components/page_wrapper';
import { SpyRoute } from '../../../common/utils/route/spy_routes';
-import { LandingImageCards } from '../../../landing_pages/components/landing_links_images';
+import { LandingImageCards } from '../../../common/components/landing_links/landing_links_images';
import { SecurityPageName } from '../../../../common/constants';
import { useCapabilities, useNavigateTo } from '../../../common/lib/kibana';
import { useRootNavLink } from '../../../common/links/nav_links';
diff --git a/x-pack/plugins/security_solution/public/landing_pages/pages/explore.tsx b/x-pack/plugins/security_solution/public/explore/landing.tsx
similarity index 53%
rename from x-pack/plugins/security_solution/public/landing_pages/pages/explore.tsx
rename to x-pack/plugins/security_solution/public/explore/landing.tsx
index 26dd3009e1d03..a861f7a7ec0f3 100644
--- a/x-pack/plugins/security_solution/public/landing_pages/pages/explore.tsx
+++ b/x-pack/plugins/security_solution/public/explore/landing.tsx
@@ -5,13 +5,17 @@
* 2.0.
*/
import React from 'react';
-import { SecurityPageName } from '../../app/types';
-import { HeaderPage } from '../../common/components/header_page';
-import { useRootNavLink } from '../../common/links/nav_links';
-import { SecuritySolutionPageWrapper } from '../../common/components/page_wrapper';
-import { SpyRoute } from '../../common/utils/route/spy_routes';
-import { LandingLinksImages } from '../components/landing_links_images';
-import { EXPLORE_PAGE_TITLE } from './translations';
+import { i18n } from '@kbn/i18n';
+import { SecurityPageName } from '../app/types';
+import { HeaderPage } from '../common/components/header_page';
+import { useRootNavLink } from '../common/links/nav_links';
+import { SecuritySolutionPageWrapper } from '../common/components/page_wrapper';
+import { SpyRoute } from '../common/utils/route/spy_routes';
+import { LandingLinksImages } from '../common/components/landing_links/landing_links_images';
+
+const EXPLORE_PAGE_TITLE = i18n.translate('xpack.securitySolution.explore.landing.pageTitle', {
+ defaultMessage: 'Explore',
+});
export const ExploreLandingPage = () => {
const exploreLinks = useRootNavLink(SecurityPageName.exploreLanding)?.links ?? [];
diff --git a/x-pack/plugins/security_solution/public/explore/links.ts b/x-pack/plugins/security_solution/public/explore/links.ts
index f54262bf57151..b48cac2ec2442 100644
--- a/x-pack/plugins/security_solution/public/explore/links.ts
+++ b/x-pack/plugins/security_solution/public/explore/links.ts
@@ -6,8 +6,15 @@
*/
import { i18n } from '@kbn/i18n';
-import { HOSTS_PATH, NETWORK_PATH, SecurityPageName, USERS_PATH } from '../../common/constants';
-import { HOSTS, NETWORK, USERS } from '../app/translations';
+import {
+ HOSTS_PATH,
+ NETWORK_PATH,
+ USERS_PATH,
+ EXPLORE_PATH,
+ SERVER_APP_ID,
+ SecurityPageName,
+} from '../../common/constants';
+import { EXPLORE, HOSTS, NETWORK, USERS } from '../app/translations';
import type { LinkItem } from '../common/links/types';
import hostsPageImg from '../common/images/hosts_page.png';
import userPageImg from '../common/images/users_page.png';
@@ -169,4 +176,17 @@ const hostsLinks: LinkItem = {
],
};
-export const exploreLinks = [hostsLinks, networkLinks, usersLinks];
+export const exploreLinks: LinkItem = {
+ id: SecurityPageName.exploreLanding,
+ title: EXPLORE,
+ path: EXPLORE_PATH,
+ globalNavPosition: 6,
+ capabilities: [`${SERVER_APP_ID}.show`],
+ globalSearchKeywords: [
+ i18n.translate('xpack.securitySolution.appLinks.explore', {
+ defaultMessage: 'Explore',
+ }),
+ ],
+ links: [hostsLinks, networkLinks, usersLinks],
+ skipUrlState: true,
+};
diff --git a/x-pack/plugins/security_solution/public/explore/routes.tsx b/x-pack/plugins/security_solution/public/explore/routes.tsx
index 0698402623953..73432e71ec50e 100644
--- a/x-pack/plugins/security_solution/public/explore/routes.tsx
+++ b/x-pack/plugins/security_solution/public/explore/routes.tsx
@@ -13,8 +13,17 @@ import { NetworkContainer } from './network/pages';
import type { SecuritySubPluginRoutes } from '../app/types';
import { SecurityPageName } from '../app/types';
-import { HOSTS_PATH, NETWORK_PATH, USERS_PATH } from '../../common/constants';
+import { EXPLORE_PATH, HOSTS_PATH, NETWORK_PATH, USERS_PATH } from '../../common/constants';
import { PluginTemplateWrapper } from '../common/components/plugin_template_wrapper';
+import { ExploreLandingPage } from './landing';
+
+const ExploreLanding = () => (
+
+
+
+
+
+);
const NetworkRoutes = () => (
@@ -41,6 +50,11 @@ const HostsRoutes = () => (
);
export const routes: SecuritySubPluginRoutes = [
+ {
+ path: EXPLORE_PATH,
+ exact: true,
+ component: ExploreLanding,
+ },
{
path: NETWORK_PATH,
component: NetworkRoutes,
diff --git a/x-pack/plugins/security_solution/public/landing_pages/index.ts b/x-pack/plugins/security_solution/public/landing_pages/index.ts
deleted file mode 100644
index 7e0b98571873f..0000000000000
--- a/x-pack/plugins/security_solution/public/landing_pages/index.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License
- * 2.0; you may not use this file except in compliance with the Elastic License
- * 2.0.
- */
-
-import type { SecuritySubPlugin } from '../app/types';
-import { routes } from './routes';
-
-export class LandingPages {
- public setup() {}
-
- public start(): SecuritySubPlugin {
- return {
- routes,
- };
- }
-}
diff --git a/x-pack/plugins/security_solution/public/landing_pages/jest.config.js b/x-pack/plugins/security_solution/public/landing_pages/jest.config.js
deleted file mode 100644
index 71b56bb8aaf14..0000000000000
--- a/x-pack/plugins/security_solution/public/landing_pages/jest.config.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License
- * 2.0; you may not use this file except in compliance with the Elastic License
- * 2.0.
- */
-
-module.exports = {
- preset: '@kbn/test',
- rootDir: '../../../../..',
- roots: ['/x-pack/plugins/security_solution/public/landing_pages'],
- coverageDirectory:
- '/target/kibana-coverage/jest/x-pack/plugins/security_solution/public/landing_pages',
- coverageReporters: ['text', 'html'],
- collectCoverageFrom: [
- '/x-pack/plugins/security_solution/public/landing_pages/**/*.{ts,tsx}',
- ],
- moduleNameMapper: require('../../server/__mocks__/module_name_map'),
-};
diff --git a/x-pack/plugins/security_solution/public/landing_pages/links.ts b/x-pack/plugins/security_solution/public/landing_pages/links.ts
deleted file mode 100644
index 081576bb7212e..0000000000000
--- a/x-pack/plugins/security_solution/public/landing_pages/links.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License
- * 2.0; you may not use this file except in compliance with the Elastic License
- * 2.0.
- */
-
-import { i18n } from '@kbn/i18n';
-import { EXPLORE_PATH, SecurityPageName, SERVER_APP_ID } from '../../common/constants';
-import { EXPLORE } from '../app/translations';
-import type { LinkItem } from '../common/links/types';
-
-import { exploreLinks } from '../explore/links';
-
-export const threatHuntingLandingLinks: LinkItem = {
- id: SecurityPageName.exploreLanding,
- title: EXPLORE,
- path: EXPLORE_PATH,
- globalNavPosition: 6,
- capabilities: [`${SERVER_APP_ID}.show`],
- globalSearchKeywords: [
- i18n.translate('xpack.securitySolution.appLinks.explore', {
- defaultMessage: 'Explore',
- }),
- ],
- links: exploreLinks,
- skipUrlState: true,
-};
diff --git a/x-pack/plugins/security_solution/public/landing_pages/pages/translations.ts b/x-pack/plugins/security_solution/public/landing_pages/pages/translations.ts
deleted file mode 100644
index ab5ded43f234a..0000000000000
--- a/x-pack/plugins/security_solution/public/landing_pages/pages/translations.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License
- * 2.0; you may not use this file except in compliance with the Elastic License
- * 2.0.
- */
-
-import { i18n } from '@kbn/i18n';
-
-export const EXPLORE_PAGE_TITLE = i18n.translate(
- 'xpack.securitySolution.landing.threatHunting.pageTitle',
- {
- defaultMessage: 'Explore',
- }
-);
-
-export const MANAGE_PAGE_TITLE = i18n.translate('xpack.securitySolution.landing.manage.pageTitle', {
- defaultMessage: 'Manage',
-});
diff --git a/x-pack/plugins/security_solution/public/landing_pages/routes.tsx b/x-pack/plugins/security_solution/public/landing_pages/routes.tsx
deleted file mode 100644
index 62a07bea29491..0000000000000
--- a/x-pack/plugins/security_solution/public/landing_pages/routes.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License
- * 2.0; you may not use this file except in compliance with the Elastic License
- * 2.0.
- */
-
-import React from 'react';
-import { TrackApplicationView } from '@kbn/usage-collection-plugin/public';
-
-import type { SecuritySubPluginRoutes } from '../app/types';
-import { SecurityPageName } from '../app/types';
-import { MANAGE_PATH, EXPLORE_PATH } from '../../common/constants';
-import { ExploreLandingPage } from './pages/explore';
-import { ManageLandingPage } from './pages/manage';
-import { PluginTemplateWrapper } from '../common/components/plugin_template_wrapper';
-
-export const ThreatHuntingRoutes = () => (
-
-
-
-
-
-);
-
-export const ManageRoutes = () => (
-
-
-
-
-
-);
-
-export const routes: SecuritySubPluginRoutes = [
- {
- path: EXPLORE_PATH,
- component: ThreatHuntingRoutes,
- },
- {
- path: MANAGE_PATH,
- component: ManageRoutes,
- },
-];
diff --git a/x-pack/plugins/security_solution/public/lazy_sub_plugins.tsx b/x-pack/plugins/security_solution/public/lazy_sub_plugins.tsx
index 01cb1ff21bfe7..2b89635ae38b5 100644
--- a/x-pack/plugins/security_solution/public/lazy_sub_plugins.tsx
+++ b/x-pack/plugins/security_solution/public/lazy_sub_plugins.tsx
@@ -19,7 +19,6 @@ import { Overview } from './overview';
import { Rules } from './rules';
import { Timelines } from './timelines';
import { Management } from './management';
-import { LandingPages } from './landing_pages';
import { CloudDefend } from './cloud_defend';
import { CloudSecurityPosture } from './cloud_security_posture';
import { ThreatIntelligence } from './threat_intelligence';
@@ -38,7 +37,6 @@ const subPluginClasses = {
Rules,
Timelines,
Management,
- LandingPages,
Dashboards,
CloudDefend,
CloudSecurityPosture,
diff --git a/x-pack/plugins/security_solution/public/landing_pages/pages/manage.test.tsx b/x-pack/plugins/security_solution/public/management/pages/landing.test.tsx
similarity index 98%
rename from x-pack/plugins/security_solution/public/landing_pages/pages/manage.test.tsx
rename to x-pack/plugins/security_solution/public/management/pages/landing.test.tsx
index e900fad75546a..f973a68c1b632 100644
--- a/x-pack/plugins/security_solution/public/landing_pages/pages/manage.test.tsx
+++ b/x-pack/plugins/security_solution/public/management/pages/landing.test.tsx
@@ -9,7 +9,7 @@ import { render } from '@testing-library/react';
import React from 'react';
import { SecurityPageName } from '../../app/types';
import { TestProviders } from '../../common/mock';
-import { ManagementCategories } from './manage';
+import { ManagementCategories } from './landing';
import type { NavigationLink } from '../../common/links';
const RULES_ITEM_LABEL = 'elastic rules!';
diff --git a/x-pack/plugins/security_solution/public/landing_pages/pages/manage.tsx b/x-pack/plugins/security_solution/public/management/pages/landing.tsx
similarity index 90%
rename from x-pack/plugins/security_solution/public/landing_pages/pages/manage.tsx
rename to x-pack/plugins/security_solution/public/management/pages/landing.tsx
index 37e2391801cac..80e56114ec230 100644
--- a/x-pack/plugins/security_solution/public/landing_pages/pages/manage.tsx
+++ b/x-pack/plugins/security_solution/public/management/pages/landing.tsx
@@ -4,9 +4,10 @@
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
-import { EuiHorizontalRule, EuiSpacer, EuiTitle } from '@elastic/eui';
import React from 'react';
import styled from 'styled-components';
+import { i18n } from '@kbn/i18n';
+import { EuiHorizontalRule, EuiSpacer, EuiTitle } from '@elastic/eui';
import { SecurityPageName } from '../../app/types';
import { HeaderPage } from '../../common/components/header_page';
@@ -14,8 +15,11 @@ import { useRootNavLink } from '../../common/links/nav_links';
import type { NavigationLink } from '../../common/links';
import { SecuritySolutionPageWrapper } from '../../common/components/page_wrapper';
import { SpyRoute } from '../../common/utils/route/spy_routes';
-import { LandingLinksIcons } from '../components/landing_links_icons';
-import { MANAGE_PAGE_TITLE } from './translations';
+import { LandingLinksIcons } from '../../common/components/landing_links/landing_links_icons';
+
+const MANAGE_PAGE_TITLE = i18n.translate('xpack.securitySolution.management.landing.pageTitle', {
+ defaultMessage: 'Manage',
+});
export const ManageLandingPage = () => (
diff --git a/x-pack/plugins/security_solution/public/management/routes.tsx b/x-pack/plugins/security_solution/public/management/routes.tsx
index 0ed0897ced5c7..fb967e3db741b 100644
--- a/x-pack/plugins/security_solution/public/management/routes.tsx
+++ b/x-pack/plugins/security_solution/public/management/routes.tsx
@@ -6,11 +6,22 @@
*/
import React from 'react';
-import { MANAGEMENT_PATH } from '../../common/constants';
+import { TrackApplicationView } from '@kbn/usage-collection-plugin/public';
+import { MANAGEMENT_PATH, MANAGE_PATH } from '../../common/constants';
+import { SecurityPageName } from '../app/types';
import { ManagementContainer } from './pages';
import type { SecuritySubPluginRoutes } from '../app/types';
import { CurrentLicense } from '../common/components/current_license';
import { PluginTemplateWrapper } from '../common/components/plugin_template_wrapper';
+import { ManageLandingPage } from './pages/landing';
+
+const ManagementLanding = () => (
+
+
+
+
+
+);
/**
* Returns the React Router Routes for the management area
@@ -24,8 +35,12 @@ const ManagementRoutes = () => (
);
export const routes: SecuritySubPluginRoutes = [
+ {
+ path: MANAGE_PATH,
+ component: React.memo(ManagementLanding),
+ },
{
path: MANAGEMENT_PATH,
- component: ManagementRoutes,
+ component: React.memo(ManagementRoutes),
},
];
diff --git a/x-pack/plugins/security_solution/public/plugin.tsx b/x-pack/plugins/security_solution/public/plugin.tsx
index 7e46c170ca133..a12bb7108b4af 100644
--- a/x-pack/plugins/security_solution/public/plugin.tsx
+++ b/x-pack/plugins/security_solution/public/plugin.tsx
@@ -412,7 +412,6 @@ export class Plugin implements IPlugin;
explore: ReturnType;
kubernetes: ReturnType;
- landingPages: ReturnType;
management: ReturnType;
overview: ReturnType;
rules: ReturnType;
diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json
index 652f393b7dd19..90a96e649372f 100644
--- a/x-pack/plugins/translations/translations/fr-FR.json
+++ b/x-pack/plugins/translations/translations/fr-FR.json
@@ -30946,9 +30946,7 @@
"xpack.securitySolution.kubernetes.columnNode": "Nœud",
"xpack.securitySolution.kubernetes.columnPod": "Pod",
"xpack.securitySolution.kubernetes.columnSessionStart": "Date de connexion",
- "xpack.securitySolution.landing.manage.pageTitle": "Gérer",
"xpack.securitySolution.landing.threatHunting.hostsDescription": "Aperçu complet de tous les hôtes et événements de sécurité des hôtes.",
- "xpack.securitySolution.landing.threatHunting.pageTitle": "Explorer",
"xpack.securitySolution.lastEventTime.errorSearchDescription": "Une erreur s'est produite sur la recherche de dernière heure de l'événement",
"xpack.securitySolution.lastEventTime.failSearchDescription": "Impossible de lancer une recherche sur la dernière heure de l'événement",
"xpack.securitySolution.lensEmbeddable.NoDataToDisplay.title": "Aucune donnée à afficher",
diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json
index 002c4c16b2ad1..8c1e116262312 100644
--- a/x-pack/plugins/translations/translations/ja-JP.json
+++ b/x-pack/plugins/translations/translations/ja-JP.json
@@ -30925,9 +30925,7 @@
"xpack.securitySolution.kubernetes.columnNode": "ノード",
"xpack.securitySolution.kubernetes.columnPod": "ポッド",
"xpack.securitySolution.kubernetes.columnSessionStart": "データが接続されました",
- "xpack.securitySolution.landing.manage.pageTitle": "管理",
"xpack.securitySolution.landing.threatHunting.hostsDescription": "すべてのホストとホスト関連のセキュリティイベントに関する包括的な概要。",
- "xpack.securitySolution.landing.threatHunting.pageTitle": "探索",
"xpack.securitySolution.lastEventTime.errorSearchDescription": "前回のイベント時刻検索でエラーが発生しました。",
"xpack.securitySolution.lastEventTime.failSearchDescription": "前回のイベント時刻で検索を実行できませんでした",
"xpack.securitySolution.lensEmbeddable.NoDataToDisplay.title": "表示するデータがありません",
diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json
index 0e722d5bb362a..f4e3b1470a99f 100644
--- a/x-pack/plugins/translations/translations/zh-CN.json
+++ b/x-pack/plugins/translations/translations/zh-CN.json
@@ -30943,9 +30943,7 @@
"xpack.securitySolution.kubernetes.columnNode": "节点",
"xpack.securitySolution.kubernetes.columnPod": "Pod",
"xpack.securitySolution.kubernetes.columnSessionStart": "连接日期",
- "xpack.securitySolution.landing.manage.pageTitle": "管理",
"xpack.securitySolution.landing.threatHunting.hostsDescription": "所有主机和主机相关安全事件的全面概览。",
- "xpack.securitySolution.landing.threatHunting.pageTitle": "浏览",
"xpack.securitySolution.lastEventTime.errorSearchDescription": "搜索上次事件时间时发生错误",
"xpack.securitySolution.lastEventTime.failSearchDescription": "无法对上次事件时间执行搜索",
"xpack.securitySolution.lensEmbeddable.NoDataToDisplay.title": "没有可显示的数据",