import {InventoryTable} from "#/components/inventory/InventoryTable";
import {EmptyState} from "#/components/ui/EmptyState";
import {LoadingState} from "#/components/ui/LoadingState";
import {useInventory} from "#/hooks/useInventory";
import {ErrorState} from "#/components/ui/ErrorState.tsx";
export function InventoryView() {
const inventoryQuery = useInventory();
if (inventoryQuery.isLoading) {
return (
);
}
if (inventoryQuery.isError) {
return (
inventoryQuery.refetch()}
/>
);
}
const items = inventoryQuery.data?.items ?? [];
if (items.length === 0) {
return (
);
}
const lowStockCount = items.filter((item) => item.status === "LOW_STOCK").length;
const outOfStockCount = items.filter(
(item) => item.status === "OUT_OF_STOCK",
).length;
return (
Total products
{items.length}
Low stock
{lowStockCount}
Out of stock
{outOfStockCount}
{inventoryQuery.isFetching ? (
Refreshing inventory...
) : null}
);
}