// src/gcodefiles.js import React, { useState, useContext, useRef } from 'react' import { Button, Flex, Space, Modal, Dropdown, message } from 'antd' import { AuthContext } from '../context/AuthContext' import ObjectTable from '../common/ObjectTable' import NewProduct from './Products/NewProduct' import PlusIcon from '../../Icons/PlusIcon' import ReloadIcon from '../../Icons/ReloadIcon' import useColumnVisibility from '../hooks/useColumnVisibility' import GridIcon from '../../Icons/GridIcon' import ListIcon from '../../Icons/ListIcon' import useViewMode from '../hooks/useViewMode' import ColumnViewButton from '../common/ColumnViewButton' const Parts = () => { const [messageApi, contextHolder] = message.useMessage() const [newProductOpen, setNewProductOpen] = useState(false) const tableRef = useRef() const { authenticated } = useContext(AuthContext) const [viewMode, setViewMode] = useViewMode('part') const [columnVisibility, setColumnVisibility] = useColumnVisibility('part') const actionItems = { items: [ { label: 'New Product', key: 'newProduct', icon: }, { type: 'divider' }, { label: 'Reload List', key: 'reloadList', icon: } ], onClick: ({ key }) => { if (key === 'reloadList') { tableRef.current?.reload() } else if (key === 'newProduct') { setNewProductOpen(true) } } } return ( <> {contextHolder}