diff --git a/assets/icons/productskuicon.svg b/assets/icons/productskuicon.svg new file mode 100644 index 0000000..6a0ff42 --- /dev/null +++ b/assets/icons/productskuicon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/components/Dashboard/Management/ManagementSidebar.jsx b/src/components/Dashboard/Management/ManagementSidebar.jsx index 2d42229..e315e40 100644 --- a/src/components/Dashboard/Management/ManagementSidebar.jsx +++ b/src/components/Dashboard/Management/ManagementSidebar.jsx @@ -3,6 +3,7 @@ import DashboardSidebar from '../common/DashboardSidebar' import FilamentIcon from '../../Icons/FilamentIcon' import PartIcon from '../../Icons/PartIcon' import ProductIcon from '../../Icons/ProductIcon' +import ProductSkuIcon from '../../Icons/ProductSkuIcon' import VendorIcon from '../../Icons/VendorIcon' import MaterialIcon from '../../Icons/MaterialIcon' import NoteTypeIcon from '../../Icons/NoteTypeIcon' @@ -42,6 +43,12 @@ const items = [ label: 'Products', path: '/dashboard/management/products' }, + { + key: 'productSkus', + icon: , + label: 'Product SKUs', + path: '/dashboard/management/productskus' + }, { key: 'vendors', icon: , @@ -176,6 +183,7 @@ const routeKeyMap = { '/dashboard/management/users': 'users', '/dashboard/management/apppasswords': 'appPasswords', '/dashboard/management/products': 'products', + '/dashboard/management/productskus': 'productSkus', '/dashboard/management/vendors': 'vendors', '/dashboard/management/couriers': 'couriers', '/dashboard/management/courierservices': 'courierServices', diff --git a/src/components/Dashboard/Management/ProductSkus.jsx b/src/components/Dashboard/Management/ProductSkus.jsx new file mode 100644 index 0000000..0b1bbf9 --- /dev/null +++ b/src/components/Dashboard/Management/ProductSkus.jsx @@ -0,0 +1,104 @@ +import { useState, useRef } from 'react' + +import { Button, Flex, Space, Modal, Dropdown } from 'antd' + +import NewProductSku from './ProductSkus/NewProductSku' +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 ProductSkus = () => { + const tableRef = useRef() + + const [newProductSkuOpen, setNewProductSkuOpen] = useState(false) + + const [viewMode, setViewMode] = useViewMode('productSkus') + + const [columnVisibility, setColumnVisibility] = + useColumnVisibility('productSku') + + const actionItems = { + items: [ + { + label: 'New Product SKU', + key: 'newProductSku', + icon: + }, + { type: 'divider' }, + { + label: 'Reload List', + key: 'reloadList', + icon: + } + ], + onClick: ({ key }) => { + if (key === 'reloadList') { + tableRef.current?.reload() + } else if (key === 'newProductSku') { + setNewProductSkuOpen(true) + } + } + } + + return ( + <> + + + + + + + + + + +