diff --git a/src/components/MainDrawer.tsx b/src/components/MainDrawer.tsx
index 309cddf2..be87f069 100644
--- a/src/components/MainDrawer.tsx
+++ b/src/components/MainDrawer.tsx
@@ -189,6 +189,8 @@ const MainDrawer = ({
);
const traverseMenuTitle = (menu: typeof activeMenu) => {
+ if (!menu) return;
+
const hasSubmenu = menu?.submenu && menu?.submenu.length > 0;
if (!title) {
@@ -197,7 +199,7 @@ const MainDrawer = ({
title += ' - ' + menu?.title;
}
- if (!hasSubmenu) return;
+ if (!hasSubmenu || !menu.submenu) return;
const activeSubmenu = menu.submenu?.find((item) =>
isPathActive(pathname, item.link)
diff --git a/src/components/pages/master-data/area/AreasTable.tsx b/src/components/pages/master-data/area/AreasTable.tsx
index 4d0bec73..c1ec1ef5 100644
--- a/src/components/pages/master-data/area/AreasTable.tsx
+++ b/src/components/pages/master-data/area/AreasTable.tsx
@@ -192,7 +192,7 @@ const AreasTable = () => {
} else {
updateFilter('nameSort', isNameSorted.desc ? 'desc' : 'asc');
}
- }, [sorting]);
+ }, [sorting, updateFilter]);
return (
<>
diff --git a/src/components/pages/master-data/kandang/KandangsTable.tsx b/src/components/pages/master-data/kandang/KandangsTable.tsx
index c3571452..c51eeb21 100644
--- a/src/components/pages/master-data/kandang/KandangsTable.tsx
+++ b/src/components/pages/master-data/kandang/KandangsTable.tsx
@@ -231,7 +231,7 @@ const KandangsTable = () => {
updateSortingFilter('nameSort', nameSortFilter);
updateSortingFilter('locationSort', locationSortFilter);
updateSortingFilter('picSort', picSortFilter);
- }, [sorting]);
+ }, [sorting, updateSortingFilter]);
return (
<>
diff --git a/src/components/pages/master-data/location/LocationsTable.tsx b/src/components/pages/master-data/location/LocationsTable.tsx
index ebbb798f..2548fb28 100644
--- a/src/components/pages/master-data/location/LocationsTable.tsx
+++ b/src/components/pages/master-data/location/LocationsTable.tsx
@@ -230,7 +230,7 @@ const LocationsTable = () => {
updateSortingFilter('nameSort', nameSortFilter);
updateSortingFilter('addressSort', addressSortFilter);
updateSortingFilter('areaSort', areaSortFilter);
- }, [sorting]);
+ }, [sorting, updateSortingFilter]);
return (
<>
diff --git a/src/components/pages/master-data/product-category/ProductCategoryTable.tsx b/src/components/pages/master-data/product-category/ProductCategoryTable.tsx
index f8413ab6..63b1c919 100644
--- a/src/components/pages/master-data/product-category/ProductCategoryTable.tsx
+++ b/src/components/pages/master-data/product-category/ProductCategoryTable.tsx
@@ -66,7 +66,12 @@ const RowOptionsMenu = ({
color='error'
className='text-error hover:text-inherit'
>
-
+
Delete
@@ -96,7 +101,9 @@ const ProductCategoryTable = () => {
const deleteModal = useModal();
- const [selectedProductCategory, setSelectedProductCategory] = useState(undefined);
+ const [selectedProductCategory, setSelectedProductCategory] = useState<
+ ProductCategory | undefined
+ >(undefined);
const [isDeleteLoading, setIsDeleteLoading] = useState(false);
const [sorting, setSorting] = useState([]);
@@ -186,7 +193,7 @@ const ProductCategoryTable = () => {
} else {
updateFilter('nameSort', isNameSorted.desc ? 'desc' : 'asc');
}
- }, [sorting]);
+ }, [sorting, updateFilter]);
return (
<>
@@ -221,18 +228,30 @@ const ProductCategoryTable = () => {
- data={isResponseSuccess(productCategories) ? productCategories?.data : []}
+ data={
+ isResponseSuccess(productCategories) ? productCategories?.data : []
+ }
columns={productCategoryColumns}
pageSize={tableFilterState.pageSize}
- page={isResponseSuccess(productCategories) ? productCategories?.meta?.page : 0}
- totalItems={isResponseSuccess(productCategories) ? productCategories?.meta?.total_results : 0}
+ page={
+ isResponseSuccess(productCategories)
+ ? productCategories?.meta?.page
+ : 0
+ }
+ totalItems={
+ isResponseSuccess(productCategories)
+ ? productCategories?.meta?.total_results
+ : 0
+ }
onPageChange={setPage}
isLoading={isLoading}
sorting={sorting}
setSorting={setSorting}
className={{
containerClassName: cn({
- 'mb-20': isResponseSuccess(productCategories) && productCategories?.data?.length === 0,
+ 'mb-20':
+ isResponseSuccess(productCategories) &&
+ productCategories?.data?.length === 0,
}),
tableWrapperClassName: 'overflow-x-auto min-h-full!',
tableClassName: 'font-inter w-full table-auto min-h-full!',
@@ -263,4 +282,4 @@ const ProductCategoryTable = () => {
);
};
-export default ProductCategoryTable;
\ No newline at end of file
+export default ProductCategoryTable;
diff --git a/src/components/pages/master-data/product/ProductTable.tsx b/src/components/pages/master-data/product/ProductTable.tsx
index ab256548..b38a749a 100644
--- a/src/components/pages/master-data/product/ProductTable.tsx
+++ b/src/components/pages/master-data/product/ProductTable.tsx
@@ -116,7 +116,9 @@ const ProductsTable = () => {
);
const deleteModal = useModal();
- const [selectedProduct, setSelectedProduct] = useState(undefined);
+ const [selectedProduct, setSelectedProduct] = useState(
+ undefined
+ );
const [isDeleteLoading, setIsDeleteLoading] = useState(false);
const [sorting, setSorting] = useState([]);
@@ -153,12 +155,14 @@ const ProductsTable = () => {
{
accessorKey: 'product_price',
header: 'Harga Produk',
- cell: (props) => props.row.original.product_price?.toLocaleString() ?? '-',
+ cell: (props) =>
+ props.row.original.product_price?.toLocaleString() ?? '-',
},
{
accessorKey: 'selling_price',
header: 'Harga Jual',
- cell: (props) => props.row.original.selling_price?.toLocaleString() ?? '-',
+ cell: (props) =>
+ props.row.original.selling_price?.toLocaleString() ?? '-',
},
{
accessorKey: 'tax',
@@ -261,13 +265,15 @@ const ProductsTable = () => {
const nameSortFilter = sorting.find((sortItem) => sortItem.id === 'name');
const skuSortFilter = sorting.find((sortItem) => sortItem.id === 'sku');
const brandSortFilter = sorting.find((sortItem) => sortItem.id === 'brand');
- const categorySortFilter = sorting.find((sortItem) => sortItem.id === 'product_category');
+ const categorySortFilter = sorting.find(
+ (sortItem) => sortItem.id === 'product_category'
+ );
updateSortingFilter('nameSort', nameSortFilter);
updateSortingFilter('skuSort', skuSortFilter);
updateSortingFilter('brandSort', brandSortFilter);
updateSortingFilter('categorySort', categorySortFilter);
- }, [sorting]);
+ }, [sorting, updateSortingFilter]);
return (
<>
@@ -347,4 +353,4 @@ const ProductsTable = () => {
);
};
-export default ProductsTable;
\ No newline at end of file
+export default ProductsTable;
diff --git a/src/components/pages/master-data/uom/UomsTable.tsx b/src/components/pages/master-data/uom/UomsTable.tsx
index 080dfaf8..dcec5fe5 100644
--- a/src/components/pages/master-data/uom/UomsTable.tsx
+++ b/src/components/pages/master-data/uom/UomsTable.tsx
@@ -192,7 +192,7 @@ const UomsTable = () => {
} else {
updateFilter('nameSort', isNameSorted.desc ? 'desc' : 'asc');
}
- }, [sorting]);
+ }, [sorting, updateFilter]);
return (
<>
diff --git a/src/components/pages/master-data/warehouse/WarehousesTable.tsx b/src/components/pages/master-data/warehouse/WarehousesTable.tsx
index b3eed86b..f6d2d071 100644
--- a/src/components/pages/master-data/warehouse/WarehousesTable.tsx
+++ b/src/components/pages/master-data/warehouse/WarehousesTable.tsx
@@ -270,7 +270,7 @@ const WarehousesTable = () => {
updateSortingFilter('areaSort', areaSortFilter);
updateSortingFilter('locationSort', locationSortFilter);
updateSortingFilter('kandangSort', kandangSortFilter);
- }, [sorting]);
+ }, [sorting, updateSortingFilter]);
return (
<>