import React from 'react';
import TimelineHeader from './timeline-header.jsx';
import TimelineBody from './timeline-body.jsx';
import TimelineFooter from './timeline-footer.jsx';
import PropTypes from 'prop-types';
class TimelineItem extends React.Component {
render() {
let body = '';
let footer = '';
let header = '';
Eif (this.props.body) {
body = (
<TimelineBody content={this.props.body.content}>
{this.props.body.markup}
</TimelineBody>
);
}
Eif (this.props.footer) {
footer = (
<TimelineFooter content={this.props.footer.content}>
{this.props.footer.markup}
</TimelineFooter>
);
}
Eif (this.props.header) {
header = (
<TimelineHeader
url={this.props.header.url}
onClick={this.props.header.onClick}
title={this.props.header.title}
content={this.props.header.content}
/>
);
}
return (
<li>
<i className={`${this.props.icon} ${this.props.iconTheme}`} />
<div className="timeline-item">
<span className="time">
<i className="fa fa-clock-o" />
{this.props.time}
</span>
{header}
{body}
{footer}
</div>
</li>
);
}
}
TimelineItem.propTypes = {
icon: PropTypes.string,
iconTheme: PropTypes.string,
time: PropTypes.string,
header: PropTypes.object,
body: PropTypes.object,
footer: PropTypes.object
};
TimelineItem.defaultProps = {
icon: 'fa fa-coffee',
iconTheme: 'bg-blue',
time: '',
header: {},
body: {},
footer: {}
};
export default TimelineItem;
|