import { h, Component } from 'preact';
import { ListingRow } from './dashboard/listingRow';
export class ListingDashboard extends Component {
state = {
listings: [],
orgListings: [],
orgs: [],
userCredits: 0,
selectedListings: 'user',
filter: 'All',
};
componentDidMount() {
const t = this;
const container = document.getElementById('classifieds-listings-dashboard');
let listings = [];
let orgs = [];
let orgListings = [];
listings = JSON.parse(container.dataset.listings).sort((a,b) => (a.created_at > b.created_at) ? -1 : 1);
orgs = JSON.parse(container.dataset.orgs);
orgListings = JSON.parse(container.dataset.orglistings);
const userCredits = container.dataset.usercredits;
t.setState({ listings, orgListings, orgs, userCredits });
}
render() {
const {
listings,
orgListings,
userCredits,
orgs,
selectedListings,
filter,
} = this.state;
const filterListings = (listingsToFilter, selectedFilter) => {
if (selectedFilter === "Expired") {
return listingsToFilter.filter(listing => listing.published === false)
} if (selectedFilter === "Active") {
return listingsToFilter.filter(listing => listing.published === true)
}
return listingsToFilter
}
const showListings = (selected, userListings, organizationListings, selectedFilter) => {
let displayedListings;
if (selected === 'user') {
displayedListings = filterListings(userListings, selectedFilter)
return displayedListings.map(listing =>