instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
146 lines (120 loc) • 4.8 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _taggedTemplateLiteral2 = require('babel-runtime/helpers/taggedTemplateLiteral');
var _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _templateObject = (0, _taggedTemplateLiteral3.default)(['\n width: ', 'px;\n height: 60px;\n padding: 5px 0;\n display: flex;\n flex-direction: row;\n align-items: stretch;\n ', '\n'], ['\n width: ', 'px;\n height: 60px;\n padding: 5px 0;\n display: flex;\n flex-direction: row;\n align-items: stretch;\n ', '\n']);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouter = require('react-router');
var _styledComponents = require('styled-components');
var _styledComponents2 = _interopRequireDefault(_styledComponents);
var _md = require('react-icons/lib/md');
var _profile_image = require('components/profile_image');
var _profile_image2 = _interopRequireDefault(_profile_image);
var _constants = require('common/constants');
var _styles = require('common/styles');
var _moment = require('common/moment');
var _moment2 = _interopRequireDefault(_moment);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var on_click = function on_click(id) {
return function () {
return _reactRouter.browserHistory.push('/users/' + id);
};
};
var UserCard = function UserCard(props) {
var selectable = props.selectable,
selected = props.selected,
simple = props.simple,
clickable = props.clickable,
id = props.id,
last_name = props.last_name,
first_name = props.first_name,
email = props.email,
phone_number = props.phone_number,
distance = props.distance,
postal_code = props.postal_code,
last_connection = props.last_connection;
return _react2.default.createElement(
Card,
{ onClick: clickable ? on_click(id) : null },
selectable ? _react2.default.createElement(
'div',
{ style: { display: 'flex', alignItems: 'center', paddingRight: 5 } },
selected ? _react2.default.createElement(_md.MdCheckBox, null) : _react2.default.createElement(_md.MdCheckBoxOutlineBlank, null)
) : null,
_react2.default.createElement(
'div',
{ style: { flexShrink: 0, flexGrow: 0, display: "flex", alignItems: "center" } },
_react2.default.createElement(_profile_image2.default, (0, _extends3.default)({}, props, { large: true }))
),
_react2.default.createElement(
'div',
{ style: { flex: 1, marginLeft: 10, display: 'flex', flexDirection: "column", alignItems: "stretch" } },
_react2.default.createElement(
'div',
{ style: (0, _extends3.default)({ flex: 1.3, fontSize: 16, position: 'relative' }, styles.truncate) },
_react2.default.createElement(
'span',
null,
(last_name + ' ' + first_name).trim()
)
),
_react2.default.createElement(
'div',
{ style: { flex: 1, fontSize: 10, display: 'flex' } },
_react2.default.createElement(
'div',
{ style: (0, _extends3.default)({}, styles.truncate) },
_react2.default.createElement(_md.MdMail, null),
' ',
_react2.default.createElement(
'span',
null,
email
)
),
phone_number ? _react2.default.createElement(
'div',
{ style: (0, _extends3.default)({ flexShrink: 0, width: 100, marginLeft: 10 }, styles.truncate) },
_react2.default.createElement(_md.MdPhone, null),
' ',
_react2.default.createElement(
'span',
null,
phone_number
)
) : null
)
),
simple ? null : _react2.default.createElement(
'div',
{ style: { flexShrink: 0, flexGrow: 0, width: 120, display: "flex", flexDirection: "column", alignItems: "flex-end" } },
_react2.default.createElement(
'div',
{ style: { flex: 1.3 } },
distance ? (distance / 1000).toFixed(1) + ' km' : postal_code
),
_react2.default.createElement(
'div',
{ style: { flex: 1, fontSize: 10 } },
last_connection ? (0, _moment2.default)(last_connection).calendar() : 'Aucune connexion'
)
)
);
};
var styles = {
truncate: {
whiteSpace: "nowrap",
overflow: "hidden",
textOverflow: "ellipsis"
}
};
exports.default = UserCard;
var Card = _styledComponents2.default.div(_templateObject, _constants.card_width, function (_ref) {
var onClick = _ref.onClick;
return onClick ? _styles.link : "";
});