docbrown/app/javascript/listings/components/AllListings.jsx
ludwiczakpawel 313cd61ee3
Listings redesign (#9349)
* flare tag line height

* .

* dropdown fix + actions bar fix

* actions bar on mob

* .

* css commented out

* .

* button fix

* preload adjustments

* tags

* Fixed listings modal to make it semantic HTML via <dialog />.

* Refactor an a11y fix.

* Removed test that is no longer needed.

* Added missing global function for test..

* Fixed broken <ListingFiltersCategories /> tests.

* Refactor of mobile dropdown for listing categories.

* Updated a TODO.

* Made the clear query button a crayons Preact button.

* padding

* Fixed listings modal for accessiblilty.

* Removed rspecs that are no longer valid.

* We're no longer using the <dialog /> element, at least for now, so CSS changes aren't necessary.

* Wasn't supposed to be committed.

Co-authored-by: Nick Taylor <nick@dev.to>
Co-authored-by: rhymes <rhymes@hey.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
2020-07-30 17:53:35 -04:00

49 lines
1.2 KiB
JavaScript

import { h } from 'preact';
import PropTypes from 'prop-types';
import { SingleListing } from '../singleListing/SingleListing';
import NextPageButton from './NextPageButton';
const AllListings = ({
listings,
onAddTag,
onChangeCategory,
currentUserId,
onOpenModal,
showNextPageButton,
loadNextPage,
}) => {
return (
<main class="crayons-layout__content">
<div className="listings-columns" id="listings-results">
{listings.map((listing) => (
<SingleListing
onAddTag={onAddTag}
onChangeCategory={onChangeCategory}
listing={listing}
currentUserId={currentUserId}
onOpenModal={onOpenModal}
isOpen={false}
/>
))}
</div>
{showNextPageButton && <NextPageButton onClick={loadNextPage} />}
</main>
);
};
AllListings.propTypes = {
currentUserId: PropTypes.number,
listings: PropTypes.isRequired,
onAddTag: PropTypes.func.isRequired,
onChangeCategory: PropTypes.func.isRequired,
onOpenModal: PropTypes.func.isRequired,
showNextPageButton: PropTypes.bool.isRequired,
loadNextPage: PropTypes.func.isRequired,
};
AllListings.defaultProps = {
currentUserId: null,
};
export default AllListings;