import PropTypes from 'prop-types'; import { h } from 'preact'; export const SingleListing = ({ listing, onAddTag, currentUserId, onChangeCategory, onOpenModal, isOpen, }) => { const tagLinks = listing.tag_list.map(tag => ( onAddTag(e, tag)} data-no-instant > {tag} )); const editButton = currentUserId === listing.user_id ? ( ・edit ) : ( ・report abuse ); const locationText = listing.location ? ( ・ {listing.location} ) : ( '' ); const definedClass = isOpen ? 'single-classified-listing single-classified-listing--opened' : 'single-classified-listing'; const listingCard = () => { return (

onOpenModal(e, listing)} data-listing-id={listing.id} > {listing.title}

{tagLinks}
onChangeCategory(e, listing.category)} data-no-instant>{listing.category} {locationText} ・ {listing.author.name} {editButton}
); }; return listingCard(); }; SingleListing.propTypes = { listing: PropTypes.object.isRequired, onAddTag: PropTypes.func.isRequired, onOpenModal: PropTypes.func.isRequired, onChangeCategory: PropTypes.func.isRequired, isOpen: PropTypes.bool.isRequired, currentUserId: PropTypes.number, };