2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-18 04:55:44 +00:00

Framework for a sample plugin which implements custom panels

This commit is contained in:
Oliver Walters
2024-08-12 00:25:57 +00:00
parent d25613ac3f
commit 587ad8d09d
4 changed files with 48 additions and 12 deletions

View File

@ -1,12 +1,14 @@
import { Trans, t } from '@lingui/macro';
import { Accordion, Alert, Stack } from '@mantine/core';
import { IconInfoCircle } from '@tabler/icons-react';
import { userInfo } from 'os';
import { lazy } from 'react';
import { StylishText } from '../../../../components/items/StylishText';
import { GlobalSettingList } from '../../../../components/settings/SettingList';
import { Loadable } from '../../../../functions/loading';
import { useServerApiState } from '../../../../states/ApiState';
import { useUserState } from '../../../../states/UserState';
const PluginListTable = Loadable(
lazy(() => import('../../../../tables/plugin/PluginListTable'))
@ -21,6 +23,8 @@ export default function PluginManagementPanel() {
(state) => state.server.plugins_enabled
);
const user = useUserState();
return (
<Stack>
{!pluginsEnabled && (
@ -45,15 +49,6 @@ export default function PluginManagementPanel() {
</Accordion.Panel>
</Accordion.Item>
<Accordion.Item value="pluginerror">
<Accordion.Control>
<StylishText size="lg">{t`Plugin Errors`}</StylishText>
</Accordion.Control>
<Accordion.Panel>
<PluginErrorTable />
</Accordion.Panel>
</Accordion.Item>
<Accordion.Item value="pluginsettings">
<Accordion.Control>
<StylishText size="lg">{t`Plugin Settings`}</StylishText>
@ -73,6 +68,16 @@ export default function PluginManagementPanel() {
/>
</Accordion.Panel>
</Accordion.Item>
{user.isSuperuser() && (
<Accordion.Item value="pluginerror">
<Accordion.Control>
<StylishText size="lg">{t`Plugin Errors`}</StylishText>
</Accordion.Control>
<Accordion.Panel>
<PluginErrorTable />
</Accordion.Panel>
</Accordion.Item>
)}
</Accordion>
</Stack>
);