From 6d1946b91a2382d26dfec0d2b02574db7e4f68b0 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sun, 8 Mar 2026 01:07:29 +0000 Subject: [PATCH] Added missing SKUs. --- assets/icons/filamentskuicon.svg | 13 ++ .../Inventory/OrderItems/NewOrderItem.jsx | 54 ++--- .../Dashboard/Management/FilamentSkus.jsx | 104 +++++++++ .../FilamentSkus/FilamentSkuInfo.jsx | 197 ++++++++++++++++++ .../FilamentSkus/NewFilamentSku.jsx | 123 +++++++++++ .../Management/Filaments/FilamentInfo.jsx | 59 +++++- .../Management/ManagementSidebar.jsx | 8 + .../Management/PartSkus/NewPartSku.jsx | 3 +- .../Management/ProductSkus/NewProductSku.jsx | 5 +- .../Dashboard/common/ObjectForm.jsx | 14 +- src/components/Icons/FilamentSkuIcon.jsx | 8 + src/database/ObjectModels.js | 3 + src/database/models/Filament.js | 127 ++++++----- src/database/models/FilamentSku.js | 184 ++++++++++++++++ src/database/models/FilamentStock.js | 12 +- src/database/models/GCodeFile.js | 19 +- src/database/models/OrderItem.js | 79 +++++-- src/database/models/Part.js | 123 ++++++++++- src/database/models/PartSku.js | 166 ++++++++------- src/database/models/Product.js | 123 +++++++++++ src/database/models/ProductSku.js | 155 ++++++++------ src/routes/ManagementRoutes.jsx | 8 + 22 files changed, 1308 insertions(+), 279 deletions(-) create mode 100644 assets/icons/filamentskuicon.svg create mode 100644 src/components/Dashboard/Management/FilamentSkus.jsx create mode 100644 src/components/Dashboard/Management/FilamentSkus/FilamentSkuInfo.jsx create mode 100644 src/components/Dashboard/Management/FilamentSkus/NewFilamentSku.jsx create mode 100644 src/components/Icons/FilamentSkuIcon.jsx create mode 100644 src/database/models/FilamentSku.js diff --git a/assets/icons/filamentskuicon.svg b/assets/icons/filamentskuicon.svg new file mode 100644 index 0000000..59c490e --- /dev/null +++ b/assets/icons/filamentskuicon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/components/Dashboard/Inventory/OrderItems/NewOrderItem.jsx b/src/components/Dashboard/Inventory/OrderItems/NewOrderItem.jsx index 4cc3a6b..1da0f5f 100644 --- a/src/components/Dashboard/Inventory/OrderItems/NewOrderItem.jsx +++ b/src/components/Dashboard/Inventory/OrderItems/NewOrderItem.jsx @@ -46,6 +46,34 @@ const NewOrderItem = ({ onOk, reset, defaultValues }) => { /> ) }, + + { + title: 'Optional', + key: 'optional', + content: ( + + ) + }, { title: 'Pricing', key: 'pricing', @@ -67,32 +95,6 @@ const NewOrderItem = ({ onOk, reset, defaultValues }) => { /> ) }, - { - title: 'Optional', - key: 'optional', - content: ( - - ) - }, { title: 'Summary', key: 'summary', diff --git a/src/components/Dashboard/Management/FilamentSkus.jsx b/src/components/Dashboard/Management/FilamentSkus.jsx new file mode 100644 index 0000000..acd9d20 --- /dev/null +++ b/src/components/Dashboard/Management/FilamentSkus.jsx @@ -0,0 +1,104 @@ +import { useState, useRef } from 'react' + +import { Button, Flex, Space, Modal, Dropdown } from 'antd' + +import NewFilamentSku from './FilamentSkus/NewFilamentSku' +import PlusIcon from '../../Icons/PlusIcon' +import ReloadIcon from '../../Icons/ReloadIcon' +import useColumnVisibility from '../hooks/useColumnVisibility' +import ObjectTable from '../common/ObjectTable' +import ListIcon from '../../Icons/ListIcon' +import GridIcon from '../../Icons/GridIcon' +import useViewMode from '../hooks/useViewMode' +import ColumnViewButton from '../common/ColumnViewButton' +import ExportListButton from '../common/ExportListButton' + +const FilamentSkus = () => { + const tableRef = useRef() + + const [newFilamentSkuOpen, setNewFilamentSkuOpen] = useState(false) + + const [viewMode, setViewMode] = useViewMode('filamentSkus') + + const [columnVisibility, setColumnVisibility] = + useColumnVisibility('filamentSku') + + const actionItems = { + items: [ + { + label: 'New Filament SKU', + key: 'newFilamentSku', + icon: + }, + { type: 'divider' }, + { + label: 'Reload List', + key: 'reloadList', + icon: + } + ], + onClick: ({ key }) => { + if (key === 'reloadList') { + tableRef.current?.reload() + } else if (key === 'newFilamentSku') { + setNewFilamentSkuOpen(true) + } + } + } + + return ( + <> + + + + + + + + + + +