import variables from 'config/variables';
import React, { memo } from 'react';
import { MdAutoFixHigh, MdOutlineArrowForward, MdOutlineOpenInNew } from 'react-icons/md';
import placeholderIcon from 'assets/icons/marketplace-placeholder.png';
import { Button } from 'components/Elements';
function filterItems(item, filter) {
const lowerCaseFilter = filter.toLowerCase();
return (
item.name?.toLowerCase().includes(lowerCaseFilter) ||
filter === '' ||
item.author?.toLowerCase().includes(lowerCaseFilter) ||
item.type?.toLowerCase().includes(lowerCaseFilter)
);
}
function ItemPage({ item, toggleFunction, type, onCollection, isCurator }) {
return (
toggleFunction(item)} key={item.name}>

{
e.target.onerror = null;
e.target.src = placeholderIcon;
}}
aria-hidden="true"
/>

{
e.target.onerror = null;
e.target.src = placeholderIcon;
}}
/>
{item.display_name || item.name}
{!isCurator ? (
{variables.getMessage('modals.main.marketplace.by', { author: item.author })}
) : (
''
)}
{type === 'all' && !onCollection ? (
{variables.getMessage('modals.main.marketplace.' + item.type)}
) : null}
);
}
function Items({
isCurator,
type,
items,
collection,
toggleFunction,
collectionFunction,
onCollection,
filter,
moreByCreator,
showCreateYourOwn,
}) {
const shouldShowCollection =
((collection && !onCollection && (filter === null || filter === '')) ||
(type === 'collections' && !onCollection && (filter === null || filter === ''))) &&
type !== 'preset_settings';
return (
<>
{shouldShowCollection && (
{collection?.display_name}
{collection?.description}
{collection?.news === true ? (
{variables.getMessage('modals.main.marketplace.learn_more')}
) : (
)}
{items
?.filter((item) => filterItems(item, filter))
.map((item, index) => (
))}
{!onCollection && showCreateYourOwn ? (
) : null}
>
);
}
const MemoizedItems = memo(Items);
export { MemoizedItems as default, MemoizedItems as Items };