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() {
Plugin Settings
- }
- 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`,