* wip init handle draft class and styling * add draft button * start splitting up listing row into multile files * separate tag links * split location * fix location * separate listing row action buttons * update listing row proptypes to describe listing object * contact via connect to jsx * fix default checked * init draft creation and first publish charge * fix first publish logic and credit charging * handle drafts in dashboard filtering * adjust isDraft bool statement * hide drafts from main listings feed * fix expired and draft bools in listing row * adjust create listing org credits * internally handle drafts * adjust listing row * break down update method * remove unnecessary logic and shorten lines * fix logic again woops * convert input hidden value + submit into one form button submit with corresponding name and value also adds clear message that drafts do not cost credits * handle insufficient org credits on first publish - uses user credits to publish - similar to bump implementation * fix sorting for personal and all orgs * space out some elements * don't spend original users credit for them * add delete buttons and delete_confirm and destroy methods * remove notification removal since listings dont trigger notifications * move draft message and add draft_params to tests * Update classified_listings_controller.rb * update tests * update snapshot * add del tests * add guard preventing free draft publish * fix draft filter * update from master and resolve merge conflict in listing preact * Revert "update from master and resolve merge conflict in listing preact" This reverts commit 0a34fccf334a2ca0902644b486cb26ead6bef664. * update column spec instead of setting and saving * separate two expectations into their own tests * split more tests into single expectations * change to unless bumped_at? instead of if nil * Fix listing draft edge cases and styling * Add title tags to listings pages
28 lines
No EOL
658 B
JavaScript
28 lines
No EOL
658 B
JavaScript
import PropTypes from 'prop-types';
|
|
import { h } from 'preact';
|
|
|
|
const ListingDate = ({ bumpedAt, updatedAt }) => {
|
|
|
|
const listingDate = bumpedAt
|
|
? new Date(bumpedAt.toString()).toLocaleDateString('default', {
|
|
day: '2-digit',
|
|
month: 'short',
|
|
})
|
|
: new Date(updatedAt.toString()).toLocaleDateString('default', {
|
|
day: '2-digit',
|
|
month: 'short',
|
|
});
|
|
|
|
return (
|
|
<span className="dashboard-listing-date">
|
|
{listingDate}
|
|
</span>
|
|
)
|
|
}
|
|
|
|
ListingDate.propTypes = {
|
|
bumpedAt: PropTypes.instanceOf(Date).isRequired,
|
|
updatedAt: PropTypes.instanceOf(Date).isRequired,
|
|
}
|
|
|
|
export default ListingDate; |