From 5bcf8c2ef1dadff8e95e660185128fef5bab93f2 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 1 Jul 2026 13:02:08 +0000 Subject: [PATCH] add user setting --- docs/docs/settings/user.md | 1 + src/backend/InvenTree/common/setting/user.py | 6 ++++++ .../src/components/previews/GlobalPreviewDrawer.tsx | 8 ++++++++ src/frontend/src/pages/Index/Settings/UserSettings.tsx | 1 + 4 files changed, 16 insertions(+) diff --git a/docs/docs/settings/user.md b/docs/docs/settings/user.md index bc6919c780..b95abcb10a 100644 --- a/docs/docs/settings/user.md +++ b/docs/docs/settings/user.md @@ -25,6 +25,7 @@ The *Display Settings* screen shows general display configuration options: {{ usersetting("BARCODE_IN_FORM_FIELDS") }} {{ usersetting("DATE_DISPLAY_FORMAT") }} {{ usersetting("FORMS_CLOSE_USING_ESCAPE") }} +{{ usersetting("ENABLE_PREVIEW_PANEL") }} {{ usersetting("DISPLAY_STOCKTAKE_TAB") }} {{ usersetting("SHOW_FULL_CATEGORY_IN_TABLES")}} {{ usersetting("SHOW_BOM_SUBASSEMBLY_LEVELS")}} diff --git a/src/backend/InvenTree/common/setting/user.py b/src/backend/InvenTree/common/setting/user.py index f5a2cd3f38..86dd1ef033 100644 --- a/src/backend/InvenTree/common/setting/user.py +++ b/src/backend/InvenTree/common/setting/user.py @@ -223,6 +223,12 @@ USER_SETTINGS: dict[str, InvenTreeSettingsKeyType] = { ('MMM DD YYYY', 'Feb 22 2022'), ], }, + 'ENABLE_PREVIEW_PANEL': { + 'name': _('Enable Preview Panel'), + 'description': _('Display a preview panel when selecting items in tables'), + 'default': True, + 'validator': bool, + }, 'DISPLAY_STOCKTAKE_TAB': { 'name': _('Show Stock History'), 'description': _('Display stock history information in the part detail page'), diff --git a/src/frontend/src/components/previews/GlobalPreviewDrawer.tsx b/src/frontend/src/components/previews/GlobalPreviewDrawer.tsx index 33029df5da..a99e0289b7 100644 --- a/src/frontend/src/components/previews/GlobalPreviewDrawer.tsx +++ b/src/frontend/src/components/previews/GlobalPreviewDrawer.tsx @@ -1,7 +1,11 @@ import { usePreviewDrawerState } from '../../states/PreviewDrawerState'; +import { useUserSettingsState } from '../../states/SettingsStates'; import PreviewDrawer from './PreviewDrawer'; export default function GlobalPreviewDrawer() { + const enabled = useUserSettingsState((state) => + state.isSet('ENABLE_PREVIEW_PANEL') + ); const isOpen = usePreviewDrawerState((state) => state.isOpen); const modelType = usePreviewDrawerState((state) => state.modelType); const id = usePreviewDrawerState((state) => state.id); @@ -9,6 +13,10 @@ export default function GlobalPreviewDrawer() { const preview = usePreviewDrawerState((state) => state.preview); const closePreview = usePreviewDrawerState((state) => state.closePreview); + if (!enabled) { + return null; + } + return (