diff --git a/docs/docs/settings/user.md b/docs/docs/settings/user.md index 5028508ead..39871b25d3 100644 --- a/docs/docs/settings/user.md +++ b/docs/docs/settings/user.md @@ -21,6 +21,7 @@ The *Display Settings* screen shows general display configuration options: {{ usersetting("ICONS_IN_NAVBAR") }} {{ usersetting("STICKY_HEADER") }} {{ usersetting("STICKY_TABLE_HEADER") }} +{{ usersetting("SHOW_SPOTLIGHT") }} {{ usersetting("DATE_DISPLAY_FORMAT") }} {{ usersetting("FORMS_CLOSE_USING_ESCAPE") }} {{ usersetting("DISPLAY_STOCKTAKE_TAB") }} diff --git a/src/backend/InvenTree/common/setting/user.py b/src/backend/InvenTree/common/setting/user.py index 73cdf769fe..793f9bae1b 100644 --- a/src/backend/InvenTree/common/setting/user.py +++ b/src/backend/InvenTree/common/setting/user.py @@ -191,6 +191,12 @@ USER_SETTINGS: dict[str, InvenTreeSettingsKeyType] = { 'default': False, 'validator': bool, }, + 'SHOW_SPOTLIGHT': { + 'name': _('Show Spotlight'), + 'description': _('Enable spotlight navigation functionality'), + 'default': True, + 'validator': bool, + }, 'ICONS_IN_NAVBAR': { 'name': _('Navigation Icons'), 'description': _('Display icons in the navigation bar'), diff --git a/src/frontend/src/components/nav/Header.tsx b/src/frontend/src/components/nav/Header.tsx index 4b5a3ed9c6..edbee51df6 100644 --- a/src/frontend/src/components/nav/Header.tsx +++ b/src/frontend/src/components/nav/Header.tsx @@ -8,7 +8,11 @@ import { Tooltip, UnstyledButton } from '@mantine/core'; -import { useDisclosure, useDocumentVisibility } from '@mantine/hooks'; +import { + useDisclosure, + useDocumentVisibility, + useHotkeys +} from '@mantine/hooks'; import { IconBell, IconSearch } from '@tabler/icons-react'; import { useQuery } from '@tanstack/react-query'; import { type ReactNode, useEffect, useMemo, useState } from 'react'; @@ -49,11 +53,27 @@ export function Header() { const [server] = useServerApiState(useShallow((state) => [state.server])); const [navDrawerOpened, { open: openNavDrawer, close: closeNavDrawer }] = useDisclosure(navigationOpen); + const [ searchDrawerOpened, { open: openSearchDrawer, close: closeSearchDrawer } ] = useDisclosure(false); + useHotkeys([ + [ + '/', + () => { + openSearchDrawer(); + } + ], + [ + 'mod+/', + () => { + openSearchDrawer(); + } + ] + ]); + const [ notificationDrawerOpened, { open: openNotificationDrawer, close: closeNotificationDrawer } @@ -154,7 +174,7 @@ export function Header() { - + {userSettings.isSet('SHOW_SPOTLIGHT') && } {globalSettings.isSet('BARCODE_ENABLE') && }