import React from 'react'; import { connect } from 'react-redux' import * as selectors from '../selectors' import Card from './Card.jsx'; import copy from '../js/data/copy.json'; import { isNotNullNorUndefined } from '../js/data/utilities.js'; class CardStack extends React.Component { constructor(props) { super(props); } renderCards() { if (this.props.selected.length > 0) { return this.props.selected.map((event) => { return ( ); }); } return ''; } renderLocation() { let locationName = copy[this.props.language].cardstack.unknown_location; if (this.props.selected.length > 0) { if (isNotNullNorUndefined(this.props.selected[0].location)) { locationName = this.props.selected[0].location; } return (

in:{` ${locationName}`}

) } return ''; } renderCardStackHeader() { const header_lang = copy[this.props.language].cardstack.header; return (
this.props.toggle('TOGGLE_CARDSTACK')} >

{(this.props.isLoading) ? copy[this.props.language].loading : `${this.props.selected.length} ${header_lang}`}

{(this.props.isLoading) ? '' : this.renderLocation()}
) } renderCardStackContent() { return (
); } render() { if (this.props.selected.length > 0) { return (
{this.renderCardStackHeader()} {this.renderCardStackContent()}
); } return
; } } function mapStateToProps(state) { return { selected: state.app.selected, language: state.app.language, tools: state.ui.tools, style: state.ui.style, isCardstack: state.ui.flags.isCardstack, isLoading: state.ui.flags.isFetchingEvents } } export default connect(mapStateToProps)(CardStack)