mirror of
https://github.com/inventree/InvenTree.git
synced 2026-05-28 03:49:20 +00:00
[UI] Fix settings rendering (#11987)
- Do not duplicate global plugin settings
This commit is contained in:
@@ -70,10 +70,12 @@ function PluginSettingGroupItem({
|
|||||||
export default function PluginSettingsGroup({
|
export default function PluginSettingsGroup({
|
||||||
mixin,
|
mixin,
|
||||||
message,
|
message,
|
||||||
|
includeBaseSettings,
|
||||||
global
|
global
|
||||||
}: {
|
}: {
|
||||||
global: boolean;
|
global: boolean;
|
||||||
message?: string;
|
message?: string;
|
||||||
|
includeBaseSettings?: boolean;
|
||||||
mixin?: string;
|
mixin?: string;
|
||||||
}) {
|
}) {
|
||||||
const mixins: string = useMemo(() => {
|
const mixins: string = useMemo(() => {
|
||||||
@@ -99,6 +101,7 @@ export default function PluginSettingsGroup({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Stack gap='xs'>
|
<Stack gap='xs'>
|
||||||
|
{includeBaseSettings == true && (
|
||||||
<Accordion defaultValue='plugin-settings'>
|
<Accordion defaultValue='plugin-settings'>
|
||||||
<Accordion.Item value='plugin-settings'>
|
<Accordion.Item value='plugin-settings'>
|
||||||
<Accordion.Control>
|
<Accordion.Control>
|
||||||
@@ -109,6 +112,7 @@ export default function PluginSettingsGroup({
|
|||||||
</Accordion.Panel>
|
</Accordion.Panel>
|
||||||
</Accordion.Item>
|
</Accordion.Item>
|
||||||
</Accordion>
|
</Accordion>
|
||||||
|
)}
|
||||||
<Alert color='blue' icon={<IconInfoCircle />}>
|
<Alert color='blue' icon={<IconInfoCircle />}>
|
||||||
<Text>
|
<Text>
|
||||||
{message ??
|
{message ??
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import {
|
|||||||
IconShoppingCart,
|
IconShoppingCart,
|
||||||
IconTruckDelivery
|
IconTruckDelivery
|
||||||
} from '@tabler/icons-react';
|
} from '@tabler/icons-react';
|
||||||
import { lazy, useMemo } from 'react';
|
import { useMemo } from 'react';
|
||||||
|
|
||||||
import { PluginPanelKey } from '@lib/enums/ModelType';
|
import { PluginPanelKey } from '@lib/enums/ModelType';
|
||||||
import type { PanelType } from '@lib/types/Panel';
|
import type { PanelType } from '@lib/types/Panel';
|
||||||
@@ -25,13 +25,9 @@ import PageTitle from '../../../components/nav/PageTitle';
|
|||||||
import { SettingsHeader } from '../../../components/nav/SettingsHeader';
|
import { SettingsHeader } from '../../../components/nav/SettingsHeader';
|
||||||
import { PanelGroup } from '../../../components/panels/PanelGroup';
|
import { PanelGroup } from '../../../components/panels/PanelGroup';
|
||||||
import { GlobalSettingList } from '../../../components/settings/SettingList';
|
import { GlobalSettingList } from '../../../components/settings/SettingList';
|
||||||
import { Loadable } from '../../../functions/loading';
|
|
||||||
import { useServerApiState } from '../../../states/ServerApiState';
|
import { useServerApiState } from '../../../states/ServerApiState';
|
||||||
import { useUserState } from '../../../states/UserState';
|
import { useUserState } from '../../../states/UserState';
|
||||||
|
import PluginSettingsGroup from './PluginSettingsGroup';
|
||||||
const PluginSettingsGroup = Loadable(
|
|
||||||
lazy(() => import('./PluginSettingsGroup'))
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* System settings page
|
* System settings page
|
||||||
@@ -371,7 +367,9 @@ export default function SystemSettings() {
|
|||||||
name: 'plugins',
|
name: 'plugins',
|
||||||
label: t`Plugins`,
|
label: t`Plugins`,
|
||||||
icon: <IconPlugConnected />,
|
icon: <IconPlugConnected />,
|
||||||
content: <PluginSettingsGroup global={true} />
|
content: (
|
||||||
|
<PluginSettingsGroup global={true} includeBaseSettings={true} />
|
||||||
|
)
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}, []);
|
}, []);
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import {
|
|||||||
IconSearch,
|
IconSearch,
|
||||||
IconUserCircle
|
IconUserCircle
|
||||||
} from '@tabler/icons-react';
|
} from '@tabler/icons-react';
|
||||||
import { lazy, useMemo } from 'react';
|
import { useMemo } from 'react';
|
||||||
|
|
||||||
import { PluginPanelKey } from '@lib/enums/ModelType';
|
import { PluginPanelKey } from '@lib/enums/ModelType';
|
||||||
import type { PanelType } from '@lib/types/Panel';
|
import type { PanelType } from '@lib/types/Panel';
|
||||||
@@ -18,14 +18,10 @@ import PageTitle from '../../../components/nav/PageTitle';
|
|||||||
import { SettingsHeader } from '../../../components/nav/SettingsHeader';
|
import { SettingsHeader } from '../../../components/nav/SettingsHeader';
|
||||||
import { PanelGroup } from '../../../components/panels/PanelGroup';
|
import { PanelGroup } from '../../../components/panels/PanelGroup';
|
||||||
import { UserSettingList } from '../../../components/settings/SettingList';
|
import { UserSettingList } from '../../../components/settings/SettingList';
|
||||||
import { Loadable } from '../../../functions/loading';
|
|
||||||
import { useUserState } from '../../../states/UserState';
|
import { useUserState } from '../../../states/UserState';
|
||||||
import { SecurityContent } from './AccountSettings/SecurityContent';
|
import { SecurityContent } from './AccountSettings/SecurityContent';
|
||||||
import { AccountContent } from './AccountSettings/UserPanel';
|
import { AccountContent } from './AccountSettings/UserPanel';
|
||||||
|
import PluginSettingsGroup from './PluginSettingsGroup';
|
||||||
const PluginSettingsGroup = Loadable(
|
|
||||||
lazy(() => import('./PluginSettingsGroup'))
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User settings page
|
* User settings page
|
||||||
@@ -130,7 +126,9 @@ export default function UserSettings() {
|
|||||||
name: 'plugins',
|
name: 'plugins',
|
||||||
label: t`Plugin Settings`,
|
label: t`Plugin Settings`,
|
||||||
icon: <IconPlugConnected />,
|
icon: <IconPlugConnected />,
|
||||||
content: <PluginSettingsGroup global={false} />
|
content: (
|
||||||
|
<PluginSettingsGroup global={false} includeBaseSettings={true} />
|
||||||
|
)
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}, []);
|
}, []);
|
||||||
|
|||||||
Reference in New Issue
Block a user