Skip to content

Commit

Permalink
docs: add some types and renmae supportedSearchParams
Browse files Browse the repository at this point in the history
  • Loading branch information
benwaples committed Feb 28, 2025
1 parent 740d05e commit d49b5cb
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 15 deletions.
3 changes: 2 additions & 1 deletion cmd/ui/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import {
AppNotifications,
GenericErrorBoundaryFallback,
MainNav,
MainNavData,
NotificationsProvider,
components,
darkPalette,
Expand Down Expand Up @@ -61,7 +62,7 @@ export const Inner: React.FC = () => {
enabled: !!(authState.isInitialized && fullyAuthenticated),
});

const mainNavData = {
const mainNavData: MainNavData = {
logo: useMainNavLogoData(),
primaryList: useMainNavPrimaryListData(),
secondaryList: useMainNavSecondaryListData(),
Expand Down
28 changes: 14 additions & 14 deletions cmd/ui/src/components/MainNav/MainNavData.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@
// SPDX-License-Identifier: Apache-2.0

import { Switch } from '@bloodhoundenterprise/doodleui';
import { AppIcon, GloballySupportedSearchParams, useFeatureFlag } from 'bh-shared-ui';
import { AppIcon, GloballySupportedSearchParams, MainNavData, useFeatureFlag } from 'bh-shared-ui';
import { fullyAuthenticatedSelector, logout } from 'src/ducks/auth/authSlice';
import { setDarkMode } from 'src/ducks/global/actions.ts';
import * as routes from 'src/routes/constants';
import { useAppDispatch, useAppSelector } from 'src/store';

export const useMainNavLogoData = () => {
export const useMainNavLogoData = (): MainNavData['logo'] => {
const authState = useAppSelector((state) => state.auth);
const fullyAuthenticated = useAppSelector(fullyAuthenticatedSelector);
const { data: flag } = useFeatureFlag('back_button_support', {
Expand Down Expand Up @@ -52,11 +52,11 @@ export const useMainNavLogoData = () => {
altText: 'SpecterOps Text Logo',
},
},
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
};
};

export const useMainNavPrimaryListData = () => {
export const useMainNavPrimaryListData = (): MainNavData['primaryList'] => {
const authState = useAppSelector((state) => state.auth);
const fullyAuthenticated = useAppSelector(fullyAuthenticatedSelector);
const { data: flag } = useFeatureFlag('back_button_support', {
Expand All @@ -68,19 +68,19 @@ export const useMainNavPrimaryListData = () => {
icon: <AppIcon.LineChart size={24} />,
route: routes.ROUTE_EXPLORE,
testId: 'global_nav-explore',
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
},
{
label: 'Group Management',
icon: <AppIcon.Diamond size={24} />,
route: routes.ROUTE_GROUP_MANAGEMENT,
testId: 'global_nav-group-management',
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
},
];
};

export const useMainNavSecondaryListData = () => {
export const useMainNavSecondaryListData = (): MainNavData['secondaryList'] => {
const authState = useAppSelector((state) => state.auth);
const fullyAuthenticated = useAppSelector(fullyAuthenticatedSelector);
const { data: flag } = useFeatureFlag('back_button_support', {
Expand Down Expand Up @@ -108,35 +108,35 @@ export const useMainNavSecondaryListData = () => {
icon: <AppIcon.User size={24} />,
route: routes.ROUTE_MY_PROFILE,
testId: 'global_nav-my-profile',
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
},
{
label: 'Download Collectors',
icon: <AppIcon.Download size={24} />,
route: routes.ROUTE_DOWNLOAD_COLLECTORS,
testId: 'global_nav-download-collectors',
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
},
{
label: 'Administration',
icon: <AppIcon.UserCog size={24} />,
route: routes.DEFAULT_ADMINISTRATION_ROUTE,
testId: 'global_nav-administration',
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
},
{
label: 'API Explorer',
icon: <AppIcon.Compass size={24} />,
route: routes.ROUTE_API_EXPLORER,
testId: 'global_nav-api-explorer',
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
},
{
label: 'Docs and Support',
icon: <AppIcon.FileMagnifyingGlass size={24} />,
functionHandler: handleGoToSupport,
testId: 'global_nav-support',
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
},
{
label: (
Expand All @@ -148,14 +148,14 @@ export const useMainNavSecondaryListData = () => {
icon: <AppIcon.EclipseCircle size={24} />,
functionHandler: handleToggleDarkMode,
testId: 'global_nav-dark-mode',
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
},
{
label: 'Log Out',
icon: <AppIcon.Logout size={24} />,
functionHandler: handleLogout,
testId: 'global_nav-logout',
persistentSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
supportedSearchParams: flag?.enabled ? GloballySupportedSearchParams : undefined,
},
];
};

0 comments on commit d49b5cb

Please sign in to comment.