UNPKG

@krowdy-ui/views

Version:

React components that implement Google's Material Design.

331 lines (300 loc) 12.1 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _core = require("@krowdy-ui/core"); var _lab = require("@material-ui/lab"); var _views = require("@krowdy-ui/views"); var _styles = require("@krowdy-ui/styles"); var _icons = require("@material-ui/icons"); var _CardExperiencie = _interopRequireDefault(require("./CardExperiencie")); var _CardEducation = _interopRequireDefault(require("./CardEducation")); var _CardEspecialization = _interopRequireDefault(require("./CardEspecialization")); var _CardKnowledge = _interopRequireDefault(require("./CardKnowledge")); var _ref2 = /*#__PURE__*/_react["default"].createElement(_lab.Skeleton, { width: 50 }); var _ref3 = /*#__PURE__*/_react["default"].createElement(_lab.Skeleton, { width: 68 }); var _ref4 = /*#__PURE__*/_react["default"].createElement(_icons.Delete, { fontSize: "small" }); var _ref5 = /*#__PURE__*/_react["default"].createElement(_lab.Skeleton, { animation: "wave", variant: "text", width: 200 }); var _ref6 = /*#__PURE__*/_react["default"].createElement(_lab.Skeleton, { animation: "wave", variant: "text", width: 200 }); var _ref7 = /*#__PURE__*/_react["default"].createElement(_lab.Skeleton, { animation: "wave", height: 64, variant: "circle", width: 64 }); var _ref8 = /*#__PURE__*/_react["default"].createElement(_icons.Assignment, null); var _ref9 = /*#__PURE__*/_react["default"].createElement(_icons.LinkedIn, { fontSize: "small" }); var _ref10 = /*#__PURE__*/_react["default"].createElement(_icons.Public, { fontSize: "small" }); var _ref11 = /*#__PURE__*/_react["default"].createElement(_core.Typography, { align: "center", color: "secondary", variant: "h4" }, "Experiencia"); var _ref13 = /*#__PURE__*/_react["default"].createElement(_core.Typography, { align: "center", color: "secondary", variant: "h4" }, "Educaci\xF3n"); var _ref15 = /*#__PURE__*/_react["default"].createElement(_core.Typography, { align: "center", color: "secondary", variant: "h4" }, "Especializaci\xF3n"); var _ref17 = /*#__PURE__*/_react["default"].createElement(_core.Typography, { align: "center", color: "secondary", variant: "h4" }, "Conocimientos"); var Profile = function Profile(_ref) { var classes = _ref.classes, candidate = _ref.candidate, onClickDeleteCandidate = _ref.onClickDeleteCandidate, onClickPreviewCV = _ref.onClickPreviewCV, disableSubHeaderTitle = _ref.disableSubHeaderTitle, basic = _ref.basic, status = _ref.status; return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", { className: classes.drawerSubHeaderContent }, !disableSubHeaderTitle ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", { className: classes.drawerSubHeaderTitle }, /*#__PURE__*/_react["default"].createElement(_core.Typography, { variant: "h6" }, candidate ? candidate.nameTask : _ref2), /*#__PURE__*/_react["default"].createElement(_core.Typography, { variant: "info2" }, candidate ? status : _ref3)), /*#__PURE__*/_react["default"].createElement("div", null, onClickDeleteCandidate ? /*#__PURE__*/_react["default"].createElement(_core.IconButton, { color: "primary", onClick: onClickDeleteCandidate, size: "small" }, _ref4) : null)) : null), /*#__PURE__*/_react["default"].createElement("div", { className: classes.userHeader }, /*#__PURE__*/_react["default"].createElement("div", { className: classes.userHeaderTitles }, /*#__PURE__*/_react["default"].createElement(_core.Typography, { className: classes.userName, variant: "h4" }, candidate ? "".concat(candidate.firstName, " ").concat(candidate.lastName) : _ref5), /*#__PURE__*/_react["default"].createElement(_core.Typography, null, basic ? null : candidate ? "".concat(candidate.email || '', " ").concat(candidate.email && candidate.phone ? '•' : '', " ").concat(candidate.phone || '') : _ref6)), /*#__PURE__*/_react["default"].createElement("div", { className: classes.userAvatarContent }, candidate ? /*#__PURE__*/_react["default"].createElement(_views.AvatarUser, { classes: { defaultAvatar: classes.userDefaultAvatar, imageDefault: classes.userDefaultAvatar }, user: { firstName: candidate.firstName, lastName: candidate.lastName, photo: candidate.photo } }) : _ref7)), /*#__PURE__*/_react["default"].createElement("div", { className: classes.actionsContent }, !basic ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, onClickPreviewCV ? /*#__PURE__*/_react["default"].createElement(_core.Button, { color: "primary", disabled: !(candidate && candidate.curriculum), onClick: onClickPreviewCV, startIcon: _ref8 }, "Ver CV") : null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_core.IconButton, { color: "primary", component: "a", disabled: !(candidate && candidate.linkedin), href: candidate && candidate.linkedin ? candidate.linkedin : '#', size: "small", target: "_blank" }, _ref9), /*#__PURE__*/_react["default"].createElement(_core.IconButton, { color: "primary", component: "a", disabled: !(candidate && candidate.website), href: candidate && candidate.website ? candidate.website : '#', size: "small", target: "_blank" }, _ref10))) : null), /*#__PURE__*/_react["default"].createElement("div", { className: classes.userContent }, candidate ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, candidate.experience && candidate.experience.length ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _ref11, candidate.experience.map(function (_ref12, index) { var area = _ref12.area, description = _ref12.description, companyName = _ref12.companyName, hierarchy = _ref12.hierarchy, jobPosition = _ref12.jobPosition, endDate = _ref12.endDate, location = _ref12.location, startDate = _ref12.startDate, workHere = _ref12.workHere; return /*#__PURE__*/_react["default"].createElement(_CardExperiencie["default"], { area: area, companyName: companyName, description: description, endDate: endDate, hierarchy: hierarchy, jobPosition: jobPosition, key: "experiencie-".concat(index), location: location, startDate: startDate, workHere: workHere }); })) : null, candidate.education && candidate.education.length ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _ref13, candidate.education.map(function (_ref14, index) { var _ref14$condition = _ref14.condition, condition = _ref14$condition === void 0 ? '' : _ref14$condition, _ref14$description = _ref14.description, description = _ref14$description === void 0 ? '' : _ref14$description, institutionName = _ref14.institutionName, career = _ref14.career, endDate = _ref14.endDate, degree = _ref14.degree, startDate = _ref14.startDate, studyingHere = _ref14.studyingHere; return /*#__PURE__*/_react["default"].createElement(_CardEducation["default"], { career: career, condition: condition, degree: degree, description: description, endDate: endDate, institutionName: institutionName, key: "education-".concat(index), startDate: startDate, studyingHere: studyingHere }); })) : null, candidate.especialization && candidate.especialization.length ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _ref15, candidate.especialization.map(function (_ref16, index) { var especializationName = _ref16.especializationName, especializationPlace = _ref16.especializationPlace, endDate = _ref16.endDate, startDate = _ref16.startDate, studyingHere = _ref16.studyingHere, description = _ref16.description; return /*#__PURE__*/_react["default"].createElement(_CardEspecialization["default"], { description: description, endDate: endDate, especializationName: especializationName, especializationPlace: especializationPlace, key: "especialization-".concat(index), startDate: startDate, studyingHere: studyingHere }); })) : null, candidate.knowledge && candidate.knowledge.length ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _ref17, candidate.knowledge.map(function (_ref18, index) { var knowledgeName = _ref18.knowledgeName, level = _ref18.level; return /*#__PURE__*/_react["default"].createElement(_CardKnowledge["default"], { key: "knowledge-".concat(index), knowledgeName: knowledgeName, level: level }); })) : null) : null)); }; process.env.NODE_ENV !== "production" ? Profile.propTypes = { basic: _propTypes["default"].bool, candidate: _propTypes["default"].object, classes: _propTypes["default"].shape({ actionsContent: _propTypes["default"].string, drawerHeaderContent: _propTypes["default"].string, drawerSubHeaderContent: _propTypes["default"].string, drawerSubHeaderTitle: _propTypes["default"].string, leaveContent: _propTypes["default"].string, leaveContentTitle: _propTypes["default"].string, userAvatarContent: _propTypes["default"].string, userContent: _propTypes["default"].string, userDefaultAvatar: _propTypes["default"].string, userHeader: _propTypes["default"].string, userHeaderTitles: _propTypes["default"].string, userName: _propTypes["default"].string }), disableSubHeaderTitle: _propTypes["default"].bool, onClickDeleteCandidate: _propTypes["default"].func, onClickPreviewCV: _propTypes["default"].func, status: _propTypes["default"].string } : void 0; var styles = function styles(_ref19) { var palette = _ref19.palette, spacing = _ref19.spacing, shadows = _ref19.shadows; return { actionsContent: { display: 'flex', justifyContent: 'space-between', padding: spacing(1.5) }, drawerHeaderContent: { alignItems: 'center', backgroundColor: palette.secondary[10], boxShadow: shadows[1], // `inset 0px -1px 0px ${palette.getContrastText('#E8E8E8')}`, display: 'flex', justifyContent: 'space-between', padding: spacing(0.5, 1.5) }, drawerSubHeaderContent: { alignItems: 'center', display: 'flex', justifyContent: 'space-between', padding: spacing(0.5, 1.5) }, drawerSubHeaderTitle: { '& > p': { marginLeft: spacing(1.5) }, display: 'flex' }, leaveContent: { maxWidth: 330, padding: spacing(2.5) }, leaveContentTitle: { alignItems: 'center', display: 'flex', marginBottom: spacing(1) }, userAvatarContent: { bottom: 0, display: 'flex', left: '50%', position: 'absolute', transform: 'translate(-50%, 50%)' }, userContent: { overflow: 'auto', padding: spacing(0, 1.5, 1.5, 1.5) }, userDefaultAvatar: { borderColor: 'white', color: palette.grey[600], height: 64, width: 64 }, userHeader: { backgroundColor: palette.secondary[600], display: 'flex', height: 110, justifyContent: 'center', position: 'relative' }, userHeaderTitles: { color: 'white', textAlign: 'center' }, userName: { marginTop: 20 } }; }; var _default = (0, _styles.withStyles)(styles, { name: 'ProfileCandidate' })(Profile); exports["default"] = _default;