From bf30effde1bd8d74f1d9c49e418e59854ac5edeb Mon Sep 17 00:00:00 2001 From: tpoisseau <22891227+tpoisseau@users.noreply.github.com> Date: Fri, 13 Feb 2026 15:21:17 +0100 Subject: [PATCH] feat: implement panels tab Closes: https://github.com/cheminfo/nmrium/issues/3947 --- .../general_settings_dialog_body.tsx | 3 + .../tabs/panels_tab.tsx | 152 ++++++++++++++++++ .../tanstack_general_settings/validation.ts | 94 ++++++++++- 3 files changed, 244 insertions(+), 5 deletions(-) create mode 100644 src/component/modal/setting/tanstack_general_settings/tabs/panels_tab.tsx diff --git a/src/component/modal/setting/tanstack_general_settings/general_settings_dialog_body.tsx b/src/component/modal/setting/tanstack_general_settings/general_settings_dialog_body.tsx index eb33e0db0..d7f71c3ec 100644 --- a/src/component/modal/setting/tanstack_general_settings/general_settings_dialog_body.tsx +++ b/src/component/modal/setting/tanstack_general_settings/general_settings_dialog_body.tsx @@ -6,6 +6,7 @@ import { StyledDialogBody } from '../../../elements/StyledDialogBody.tsx'; import { ExportTab } from './tabs/export_tab.tsx'; import { GeneralTab } from './tabs/general_tab.tsx'; +import { PanelsTab } from './tabs/panels_tab.tsx'; import { defaultGeneralSettingsFormValues } from './validation.ts'; const Tabs = styled(BPTabs)` @@ -43,6 +44,8 @@ export const GeneralSettingsDialogBody = withForm({ panel={} /> + } /> + } /> diff --git a/src/component/modal/setting/tanstack_general_settings/tabs/panels_tab.tsx b/src/component/modal/setting/tanstack_general_settings/tabs/panels_tab.tsx new file mode 100644 index 000000000..e81a4d03a --- /dev/null +++ b/src/component/modal/setting/tanstack_general_settings/tabs/panels_tab.tsx @@ -0,0 +1,152 @@ +import { withFieldGroup, withForm } from 'react-science/ui'; + +import { + defaultGeneralSettingsFormValues, + displayPanelsStatus, +} from '../validation.ts'; + +export const PanelsTab = withForm({ + defaultValues: defaultGeneralSettingsFormValues, + render: ({ form }) => { + const { Section, AppField } = form; + return ( + <> +
+ + {({ Checkbox }) => } + +
+ + + + + + + ); + }, +}); + +const SpectraSettings = withFieldGroup({ + defaultValues: defaultGeneralSettingsFormValues.display.panels, + render: ({ group }) => { + const { Section, AppField } = group; + + return ( +
+ + {({ Select }) => ( + + )} + + + {({ Select }) => ( + + )} + +
+ ); + }, +}); + +const Spectra1dSettings = withFieldGroup({ + defaultValues: defaultGeneralSettingsFormValues.display.panels, + render: ({ group }) => { + const { Section, AppField } = group; + + return ( +
+ + {({ Select }) => + )} + + + {({ Select }) => ( + + )} + + + {({ Select }) => ( + } + +
+ ); + }, +}); + +const ChemicalSettings = withFieldGroup({ + defaultValues: defaultGeneralSettingsFormValues.display.panels, + render: ({ group }) => { + const { Section, AppField } = group; + + return ( +
+ + {({ Select }) => ( + + )} + + + {({ Select }) => ( + + )} + + + {({ Select }) => ( +