fix: streamline inventory item filtering by converting id to string

This commit is contained in:
Pattadon 2025-04-01 13:31:04 +07:00
parent 9b81a8af3b
commit b4793aba38

View File

@ -1,9 +1,6 @@
"use client"; "use client";
import { import { useState, useMemo } from "react";
useState,
useMemo,
} from "react";
import { useQuery } from "@tanstack/react-query"; import { useQuery } from "@tanstack/react-query";
import { import {
useReactTable, useReactTable,
@ -38,7 +35,7 @@ import { fetchInventoryItems } from "@/api/inventory";
import { AddInventoryItem } from "./add-inventory-item"; import { AddInventoryItem } from "./add-inventory-item";
import { import {
EditInventoryItem, EditInventoryItem,
EditInventoryItemProps EditInventoryItemProps,
} from "./edit-inventory-item"; } from "./edit-inventory-item";
import { DeleteInventoryItem } from "./delete-inventory-item"; import { DeleteInventoryItem } from "./delete-inventory-item";
@ -61,9 +58,14 @@ export default function InventoryPage() {
// console.table(inventoryItems); // console.table(inventoryItems);
const [searchTerm, setSearchTerm] = useState(""); const [searchTerm, setSearchTerm] = useState("");
const filteredItems = useMemo(() => { const filteredItems = useMemo(() => {
return inventoryItems.filter((item) => return inventoryItems
item.name.toLowerCase().includes(searchTerm.toLowerCase()) .map((item) => ({
); ...item,
id: String(item.id), // Convert `id` to string here
}))
.filter((item) =>
item.name.toLowerCase().includes(searchTerm.toLowerCase())
);
}, [inventoryItems, searchTerm]); }, [inventoryItems, searchTerm]);
const columns = [ const columns = [
@ -111,7 +113,7 @@ export default function InventoryPage() {
]; ];
const table = useReactTable({ const table = useReactTable({
data: filteredItems.map((item) => ({ ...item, id: item.id.toString() })), data: filteredItems,
columns, columns,
state: { sorting, pagination }, state: { sorting, pagination },
getCoreRowModel: getCoreRowModel(), getCoreRowModel: getCoreRowModel(),