UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

146 lines (120 loc) 4.8 kB
'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 : ""; });