import { useAdminProducts } from "medusa-react" import { useMemo, useState } from "react" import { useTranslation } from "react-i18next" import ImagePlaceholder from "../../../components/fundamentals/image-placeholder" import { useDebounce } from "../../../hooks/use-debounce" import { SelectableTable } from "./selectable-table" export const ProductSelector = ({ items, onChange }) => { const PAGE_SIZE = 12 const { t } = useTranslation() const [pagination, setPagination] = useState({ limit: PAGE_SIZE, offset: 0, }) const [query, setQuery] = useState("") const debouncedSearchTerm = useDebounce(query, 500) const { isLoading, count, products } = useAdminProducts({ q: debouncedSearchTerm, ...pagination, }) const handleSearch = (q) => { setPagination((p) => { return { ...p, offset: 0, } }) setQuery(q) } const columns = useMemo(() => { return [ { Header: t("taxes-name", "Name"), accessor: "title", Cell: ({ row: { original } }) => { return (
{original.thumbnail ? ( ) : ( )}
{original.title}
) }, }, ] }, []) return ( ) }