From 257cebf15c027c65ecfbb4e8939546fb6671b9c9 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Mon, 18 Aug 2025 00:54:54 +0100 Subject: [PATCH] Refactor routing structure in App component to utilize modular route files for Production, Inventory, Management, and Developer sections. Update import paths for stylesheets and streamline route management for improved maintainability and organization. --- src/App.jsx | 189 ++------------------------------ src/routes/DeveloperRoutes.jsx | 25 +++++ src/routes/InventoryRoutes.jsx | 44 ++++++++ src/routes/ManagementRoutes.jsx | 112 +++++++++++++++++++ src/routes/ProductionRoutes.jsx | 46 ++++++++ 5 files changed, 239 insertions(+), 177 deletions(-) create mode 100644 src/routes/DeveloperRoutes.jsx create mode 100644 src/routes/InventoryRoutes.jsx create mode 100644 src/routes/ManagementRoutes.jsx create mode 100644 src/routes/ProductionRoutes.jsx diff --git a/src/App.jsx b/src/App.jsx index 2a84457..3011354 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -8,69 +8,29 @@ import { } from 'react-router-dom' import { App, ConfigProvider } from 'antd' -import ProductionOverview from './components/Dashboard/Production/ProductionOverview' - -import Printers from './components/Dashboard/Production/Printers' -import ControlPrinter from './components/Dashboard/Production/Printers/ControlPrinter.jsx' -import PrinterInfo from './components/Dashboard/Production/Printers/PrinterInfo.jsx' - -import Jobs from './components/Dashboard/Production/Jobs.jsx' -import JobInfo from './components/Dashboard/Production/Jobs/JobInfo.jsx' - -import Filaments from './components/Dashboard/Management/Filaments' -import FilamentInfo from './components/Dashboard/Management/Filaments/FilamentInfo.jsx' - -import GCodeFiles from './components/Dashboard/Production/GCodeFiles' -import GCodeFileInfo from './components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx' - -import Parts from './components/Dashboard/Management/Parts.jsx' -import PartInfo from './components/Dashboard/Management/Parts/PartInfo.jsx' - -import Products from './components/Dashboard/Management/Products.jsx' -import ProductInfo from './components/Dashboard/Management/Products/ProductInfo.jsx' - -import Vendors from './components/Dashboard/Management/Vendors' -import VendorInfo from './components/Dashboard/Management/Vendors/VendorInfo' - -import Materials from './components/Dashboard/Management/Materials' - -import FilamentStocks from './components/Dashboard/Inventory/FilamentStocks.jsx' -import FilamentStockInfo from './components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx' - -import PartStocks from './components/Dashboard/Inventory/PartStocks.jsx' - -import StockAudits from './components/Dashboard/Inventory/StockAudits.jsx' -import StockAuditInfo from './components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx' - import Dashboard from './components/Dashboard/Dashboard.jsx' import PrivateRoute from './components/PrivateRoute' -import './App.css' +import './assets/stylesheets/App.css' import { PrintServerProvider } from './components/Dashboard/context/PrintServerContext.js' import { AuthProvider } from './components/Dashboard/context/AuthContext.js' import { SpotlightProvider } from './components/Dashboard/context/SpotlightContext.js' -import StockEvents from './components/Dashboard/Inventory/StockEvents.jsx' - -import Settings from './components/Dashboard/Management/Settings' -import AuditLogs from './components/Dashboard/Management/AuditLogs.jsx' import { ThemeProvider, useThemeContext } from './components/Dashboard/context/ThemeContext' import AppError from './components/App/AppError' -import NoteTypes from './components/Dashboard/Management/NoteTypes.jsx' -import NoteTypeInfo from './components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx' -import SessionStorage from './components/Dashboard/Developer/SessionStorage.jsx' -import AuthContextDebug from './components/Dashboard/Developer/AuthContextDebug.jsx' -import PrintServerContextDebug from './components/Dashboard/Developer/PrintServerContextDebug.jsx' import { ApiServerProvider } from './components/Dashboard/context/ApiServerContext.js' -import Users from './components/Dashboard/Management/Users.jsx' -import UserInfo from './components/Dashboard/Management/Users/UserInfo.jsx' -import SubJobs from './components/Dashboard/Production/SubJobs.jsx' -import Hosts from './components/Dashboard/Management/Hosts.jsx' import { ElectronProvider } from './components/Dashboard/context/ElectronContext.js' import AuthCallback from './components/App/AuthCallback.jsx' +import { + ProductionRoutes, + InventoryRoutes, + ManagementRoutes, + DeveloperRoutes +} from './routes' + const getRouter = () => { if ( typeof window !== 'undefined' && @@ -115,135 +75,10 @@ const AppContent = () => { } /> } > - {/* Production Routes */} - } - /> - } - /> - } - /> - } - /> - } /> - } - /> - } - /> - } - /> - } - /> - - {/* Inventory Routes */} - } - /> - } - /> - } - /> - } - /> - } - /> - } - /> - - {/* Management Routes */} - } - /> - } - /> - } /> - } - /> - } - /> - } - /> - } - /> - } /> - } - /> - } - /> - } - /> - } - /> - } /> - } - /> - } - /> - } - /> - } - /> - } - /> - } - /> + {ProductionRoutes} + {InventoryRoutes} + {ManagementRoutes} + {DeveloperRoutes} } + />, + } + />, + } + /> +] + +export default DeveloperRoutes diff --git a/src/routes/InventoryRoutes.jsx b/src/routes/InventoryRoutes.jsx new file mode 100644 index 0000000..e01deac --- /dev/null +++ b/src/routes/InventoryRoutes.jsx @@ -0,0 +1,44 @@ +import React from 'react' +import { Route } from 'react-router-dom' + +import FilamentStocks from '../components/Dashboard/Inventory/FilamentStocks.jsx' +import FilamentStockInfo from '../components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx' +import PartStocks from '../components/Dashboard/Inventory/PartStocks.jsx' +import StockEvents from '../components/Dashboard/Inventory/StockEvents.jsx' +import StockAudits from '../components/Dashboard/Inventory/StockAudits.jsx' +import StockAuditInfo from '../components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx' + +const InventoryRoutes = [ + } + />, + } + />, + } + />, + } + />, + } + />, + } + /> +] + +export default InventoryRoutes diff --git a/src/routes/ManagementRoutes.jsx b/src/routes/ManagementRoutes.jsx new file mode 100644 index 0000000..ee5b524 --- /dev/null +++ b/src/routes/ManagementRoutes.jsx @@ -0,0 +1,112 @@ +import React from 'react' +import { Route } from 'react-router-dom' + +import Filaments from '../components/Dashboard/Management/Filaments' +import FilamentInfo from '../components/Dashboard/Management/Filaments/FilamentInfo.jsx' +import Parts from '../components/Dashboard/Management/Parts.jsx' +import PartInfo from '../components/Dashboard/Management/Parts/PartInfo.jsx' +import Products from '../components/Dashboard/Management/Products.jsx' +import ProductInfo from '../components/Dashboard/Management/Products/ProductInfo.jsx' +import Vendors from '../components/Dashboard/Management/Vendors' +import VendorInfo from '../components/Dashboard/Management/Vendors/VendorInfo' +import Materials from '../components/Dashboard/Management/Materials' +import Settings from '../components/Dashboard/Management/Settings' +import AuditLogs from '../components/Dashboard/Management/AuditLogs.jsx' +import NoteTypes from '../components/Dashboard/Management/NoteTypes.jsx' +import NoteTypeInfo from '../components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx' +import Users from '../components/Dashboard/Management/Users.jsx' +import UserInfo from '../components/Dashboard/Management/Users/UserInfo.jsx' +import Hosts from '../components/Dashboard/Management/Hosts.jsx' +import HostInfo from '../components/Dashboard/Management/Hosts/HostInfo.jsx' +import DocumentSizes from '../components/Dashboard/Management/DocumentSizes.jsx' +import DocumentSizeInfo from '../components/Dashboard/Management/DocumentSizes/DocumentSizeInfo.jsx' +import DocumentTemplates from '../components/Dashboard/Management/DocumentTemplates.jsx' +import DocumentTemplateInfo from '../components/Dashboard/Management/DocumentTemplates/DocumentTemplateInfo.jsx' +import DocumentPrinters from '../components/Dashboard/Management/DocumentPrinters.jsx' +import DocumentPrinterInfo from '../components/Dashboard/Management/DocumentPrinters/DocumentPrinterInfo.jsx' +import DocumentTemplateDesign from '../components/Dashboard/Management/DocumentTemplates/DocumentTemplateDesign.jsx' + +const ManagementRoutes = [ + } />, + } + />, + } />, + } + />, + } />, + } + />, + } />, + } />, + } + />, + } + />, + } + />, + } />, + } />, + } + />, + } + />, + } + />, + } + />, + } + />, + } + />, + } + />, + } + />, + } />, + } />, + } /> +] + +export default ManagementRoutes diff --git a/src/routes/ProductionRoutes.jsx b/src/routes/ProductionRoutes.jsx new file mode 100644 index 0000000..29bbe65 --- /dev/null +++ b/src/routes/ProductionRoutes.jsx @@ -0,0 +1,46 @@ +import React from 'react' +import { Route } from 'react-router-dom' + +import ProductionOverview from '../components/Dashboard/Production/ProductionOverview' +import Printers from '../components/Dashboard/Production/Printers' +import ControlPrinter from '../components/Dashboard/Production/Printers/ControlPrinter.jsx' +import PrinterInfo from '../components/Dashboard/Production/Printers/PrinterInfo.jsx' +import Jobs from '../components/Dashboard/Production/Jobs.jsx' +import JobInfo from '../components/Dashboard/Production/Jobs/JobInfo.jsx' +import SubJobs from '../components/Dashboard/Production/SubJobs.jsx' +import GCodeFiles from '../components/Dashboard/Production/GCodeFiles' +import GCodeFileInfo from '../components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx' + +const ProductionRoutes = [ + } + />, + } />, + } + />, + } + />, + } />, + } />, + } />, + } + />, + } + /> +] + +export default ProductionRoutes