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" /> icon { 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 ? (
{variables.getMessage('modals.main.marketplace.cant_find')} {variables.getMessage('modals.main.marketplace.knowledgebase_one') + ' '} {variables.getMessage('modals.main.marketplace.knowledgebase_two')} {' ' + variables.getMessage('modals.main.marketplace.knowledgebase_three')}
) : null} ); } const MemoizedItems = memo(Items); export { MemoizedItems as default, MemoizedItems as Items };