diff --git a/x-pack/plugins/security_solution/public/common/links/links.ts b/x-pack/plugins/security_solution/public/common/links/links.ts index a150ab2e7e0ceb..d8f584c26acae3 100644 --- a/x-pack/plugins/security_solution/public/common/links/links.ts +++ b/x-pack/plugins/security_solution/public/common/links/links.ts @@ -204,3 +204,7 @@ export const useAppNavLinks = (): NavLinkItem[] => { return getNavLinkItems({ enableExperimental, license, capabilities }); }; + +export const useAppNavLink = (pageName: SecurityPageName): NavLinkItem | undefined => { + return useAppNavLinks().find(({ id }) => id === pageName); +}; diff --git a/x-pack/plugins/security_solution/public/landing_pages/pages/dashboards.tsx b/x-pack/plugins/security_solution/public/landing_pages/pages/dashboards.tsx index c2d5a3d8d2ee97..4778f48c688ffb 100644 --- a/x-pack/plugins/security_solution/public/landing_pages/pages/dashboards.tsx +++ b/x-pack/plugins/security_solution/public/landing_pages/pages/dashboards.tsx @@ -11,12 +11,10 @@ import { SecuritySolutionPageWrapper } from '../../common/components/page_wrappe import { SpyRoute } from '../../common/utils/route/spy_routes'; import { LandingLinksImages } from '../components/landing_links_images'; import { DASHBOARDS_PAGE_TITLE } from './translations'; -import { useAppNavLinks } from '../../common/links'; +import { useAppNavLink } from '../../common/links'; export const DashboardsLandingPage = () => { - const dashboardlinks = useAppNavLinks().find( - ({ id }) => id === SecurityPageName.dashboardsLanding - ); + const dashboardlinks = useAppNavLink(SecurityPageName.dashboardsLanding); return ( diff --git a/x-pack/plugins/security_solution/public/landing_pages/pages/manage.test.tsx b/x-pack/plugins/security_solution/public/landing_pages/pages/manage.test.tsx index 1b786912b7c6ea..9255aeb974cfde 100644 --- a/x-pack/plugins/security_solution/public/landing_pages/pages/manage.test.tsx +++ b/x-pack/plugins/security_solution/public/landing_pages/pages/manage.test.tsx @@ -15,32 +15,30 @@ const RULES_ITEM_LABEL = 'elastic rules!'; const EXCEPTIONS_ITEM_LABEL = 'exceptional!'; import { NavLinkItem } from '../../common/links/types'; -const mockAppLinks: NavLinkItem[] = [ - { - id: SecurityPageName.administration, - path: '', - title: 'admin', - links: [ - { - id: SecurityPageName.rules, - title: RULES_ITEM_LABEL, - description: '', - icon: 'testIcon1', - path: '', - }, - { - id: SecurityPageName.exceptions, - title: EXCEPTIONS_ITEM_LABEL, - description: '', - icon: 'testIcon2', - path: '', - }, - ], - }, -]; +const mockAppLinks: NavLinkItem = { + id: SecurityPageName.administration, + path: '', + title: 'admin', + links: [ + { + id: SecurityPageName.rules, + title: RULES_ITEM_LABEL, + description: '', + icon: 'testIcon1', + path: '', + }, + { + id: SecurityPageName.exceptions, + title: EXCEPTIONS_ITEM_LABEL, + description: '', + icon: 'testIcon2', + path: '', + }, + ], +}; jest.mock('../../common/links', () => ({ - useAppNavLinks: jest.fn(() => mockAppLinks), + useAppNavLink: jest.fn(() => mockAppLinks), })); describe('LandingCategories', () => { diff --git a/x-pack/plugins/security_solution/public/landing_pages/pages/manage.tsx b/x-pack/plugins/security_solution/public/landing_pages/pages/manage.tsx index 172506868cec96..26a470766eec5a 100644 --- a/x-pack/plugins/security_solution/public/landing_pages/pages/manage.tsx +++ b/x-pack/plugins/security_solution/public/landing_pages/pages/manage.tsx @@ -12,7 +12,7 @@ import styled from 'styled-components'; import { SecurityPageName } from '../../app/types'; import { HeaderPage } from '../../common/components/header_page'; import { SecuritySolutionPageWrapper } from '../../common/components/page_wrapper'; -import { useAppNavLinks } from '../../common/links'; +import { useAppNavLink } from '../../common/links'; import { NavLinkItem } from '../../common/links/types'; import { SpyRoute } from '../../common/utils/route/spy_routes'; import { LandingLinksIcons } from '../components/landing_links_icons'; @@ -39,7 +39,7 @@ const navItemsFromIds = (itemIds: SecurityPageName[], links: NavLinkItem[]) => compact(itemIds.map(getNavItembyId(links))); export const LandingCategories = React.memo(({ groups }: { groups: LandingNavGroup[] }) => { - const manageLink = useAppNavLinks().find(({ id }) => id === SecurityPageName.administration); + const manageLink = useAppNavLink(SecurityPageName.administration); return ( <> diff --git a/x-pack/plugins/security_solution/public/landing_pages/pages/threat_hunting.tsx b/x-pack/plugins/security_solution/public/landing_pages/pages/threat_hunting.tsx index 7d486c102a2ddf..453fcea2a1e83b 100644 --- a/x-pack/plugins/security_solution/public/landing_pages/pages/threat_hunting.tsx +++ b/x-pack/plugins/security_solution/public/landing_pages/pages/threat_hunting.tsx @@ -11,12 +11,10 @@ import { SecuritySolutionPageWrapper } from '../../common/components/page_wrappe import { SpyRoute } from '../../common/utils/route/spy_routes'; import { LandingLinksImages } from '../components/landing_links_images'; import { THREAT_HUNTING_PAGE_TITLE } from './translations'; -import { useAppNavLinks } from '../../common/links'; +import { useAppNavLink } from '../../common/links'; export const ThreatHuntingLandingPage = () => { - const threatHuntinglinks = useAppNavLinks().find( - ({ id }) => id === SecurityPageName.threatHuntingLanding - ); + const threatHuntinglinks = useAppNavLink(SecurityPageName.threatHuntingLanding); return (