diff --git a/src/frontend/src/components/nav/MainMenu.tsx b/src/frontend/src/components/nav/MainMenu.tsx index 6ad8ce5a4d..3fb69120da 100644 --- a/src/frontend/src/components/nav/MainMenu.tsx +++ b/src/frontend/src/components/nav/MainMenu.tsx @@ -34,15 +34,6 @@ export function MainMenu() { - {userState.user?.is_staff && ( - } - component={Link} - to="/settings/admin" - > - Admin Center - - )} Settings @@ -58,8 +49,17 @@ export function MainMenu() { System Settings )} + {userState.user?.is_staff && } + {userState.user?.is_staff && ( + } + component={Link} + to="/settings/admin" + > + Admin Center + + )} - } onClick={() => { diff --git a/src/frontend/src/components/tables/part/PartParameterTemplateTable.tsx b/src/frontend/src/components/tables/part/PartParameterTemplateTable.tsx index e9de3cf6f3..11dd0aaed2 100644 --- a/src/frontend/src/components/tables/part/PartParameterTemplateTable.tsx +++ b/src/frontend/src/components/tables/part/PartParameterTemplateTable.tsx @@ -17,7 +17,7 @@ import { TableColumn } from '../Column'; import { InvenTreeTable } from '../InvenTreeTable'; import { RowDeleteAction, RowEditAction } from '../RowActions'; -export function PartParameterTemplateTable() { +export default function PartParameterTemplateTable() { const table = useTable('part-parameter-templates'); const user = useUserState(); diff --git a/src/frontend/src/components/tables/settings/CustomUnitsTable.tsx b/src/frontend/src/components/tables/settings/CustomUnitsTable.tsx index e5f8bdd2a8..e4a7b6206f 100644 --- a/src/frontend/src/components/tables/settings/CustomUnitsTable.tsx +++ b/src/frontend/src/components/tables/settings/CustomUnitsTable.tsx @@ -19,7 +19,7 @@ import { RowAction, RowDeleteAction, RowEditAction } from '../RowActions'; /** * Table for displaying list of custom physical units */ -export function CustomUnitsTable() { +export default function CustomUnitsTable() { const table = useTable('custom-units'); const user = useUserState(); diff --git a/src/frontend/src/components/tables/settings/ProjectCodeTable.tsx b/src/frontend/src/components/tables/settings/ProjectCodeTable.tsx index 27fa83c2b1..e2f3e9dc64 100644 --- a/src/frontend/src/components/tables/settings/ProjectCodeTable.tsx +++ b/src/frontend/src/components/tables/settings/ProjectCodeTable.tsx @@ -20,7 +20,7 @@ import { RowAction, RowDeleteAction, RowEditAction } from '../RowActions'; /** * Table for displaying list of project codes */ -export function ProjectCodeTable() { +export default function ProjectCodeTable() { const table = useTable('project-codes'); const user = useUserState(); diff --git a/src/frontend/src/pages/Index/Settings/AdminCenter/Index.tsx b/src/frontend/src/pages/Index/Settings/AdminCenter/Index.tsx index 9e1c443b37..551731b136 100644 --- a/src/frontend/src/pages/Index/Settings/AdminCenter/Index.tsx +++ b/src/frontend/src/pages/Index/Settings/AdminCenter/Index.tsx @@ -1,20 +1,43 @@ import { Trans, t } from '@lingui/macro'; -import { Paper, SimpleGrid, Stack, Text, Title } from '@mantine/core'; -import { IconPlugConnected, IconUsersGroup } from '@tabler/icons-react'; +import { Divider, Paper, SimpleGrid, Stack, Text, Title } from '@mantine/core'; +import { + IconList, + IconListDetails, + IconPlugConnected, + IconScale, + IconUsersGroup +} from '@tabler/icons-react'; import { lazy, useMemo } from 'react'; import { PlaceholderPill } from '../../../../components/items/Placeholder'; import { PanelGroup, PanelType } from '../../../../components/nav/PanelGroup'; import { SettingsHeader } from '../../../../components/nav/SettingsHeader'; +import { GlobalSettingList } from '../../../../components/settings/SettingList'; import { Loadable } from '../../../../functions/loading'; const UserManagementPanel = Loadable( lazy(() => import('./UserManagementPanel')) ); + const PluginManagementPanel = Loadable( lazy(() => import('./PluginManagementPanel')) ); +const ProjectCodeTable = Loadable( + lazy(() => import('../../../../components/tables/settings/ProjectCodeTable')) +); + +const CustomUnitsTable = Loadable( + lazy(() => import('../../../../components/tables/settings/CustomUnitsTable')) +); + +const PartParameterTemplateTable = Loadable( + lazy( + () => + import('../../../../components/tables/part/PartParameterTemplateTable') + ) +); + export default function AdminCenter() { const adminCenterPanels: PanelType[] = useMemo(() => { return [ @@ -24,6 +47,30 @@ export default function AdminCenter() { icon: , content: }, + { + name: 'projectcodes', + label: t`Project Codes`, + icon: , + content: ( + + + + + + ) + }, + { + name: 'customunits', + label: t`Custom Units`, + icon: , + content: + }, + { + name: 'parameters', + label: t`Part Parameters`, + icon: , + content: + }, { name: 'plugin', label: t`Plugins`, diff --git a/src/frontend/src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx b/src/frontend/src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx index 638cc099fa..c6ccc87ce2 100644 --- a/src/frontend/src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx +++ b/src/frontend/src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx @@ -1,6 +1,6 @@ import { Trans } from '@lingui/macro'; import { Alert, Stack, Title } from '@mantine/core'; -import { IconAlertTriangle, IconInfoCircle } from '@tabler/icons-react'; +import { IconInfoCircle } from '@tabler/icons-react'; import { GlobalSettingList } from '../../../../components/settings/SettingList'; import { PluginErrorTable } from '../../../../components/tables/plugin/PluginErrorTable'; @@ -39,16 +39,6 @@ export default function PluginManagementPanel() { <Trans>Plugin Settings</Trans> - } - color="yellow" - title={Warning} - > - - Changing the settings below require you to immediately restart the - server. Do not change this while under active usage. - - ) }, - { - name: 'projectcodes', - label: t`Project Codes`, - icon: , - content: ( - - - - - - ) - }, - { - name: 'physicalunits', - label: t`Physical Units`, - icon: , - content: - }, { name: 'notifications', label: t`Notifications`, @@ -219,12 +195,6 @@ export default function SystemSettings() { /> ) }, - { - name: 'parameters', - label: t`Part Parameters`, - icon: , - content: - }, { name: 'stock', label: t`Stock`,