UNPKG

@r3l/app

Version:
225 lines (191 loc) 9.46 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactRouterDom = require("react-router-dom"); var _UAvatar = _interopRequireDefault(require("../user/UAvatar.component")); var _styled = require("../styled"); var _profile = _interopRequireDefault(require("./profile.stats")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var SettingsImage = function SettingsImage(props) { return /*#__PURE__*/_react.default.createElement("svg", props, /*#__PURE__*/_react.default.createElement("title", null, "Shape"), /*#__PURE__*/_react.default.createElement("path", { d: "M4.625.131l2.903.037-.018 1.41A4.79 4.79 0 0 1 9.265 2.61l1.243-.69 1.42 2.505-1.244.69c.14.674.127 1.363-.027 2.018l1.227.722-1.484 2.468-1.226-.721a4.805 4.805 0 0 1-1.78.987L7.373 12l-2.902-.036.018-1.411A4.788 4.788 0 0 1 2.735 9.52l-1.244.689-1.42-2.505 1.244-.689a4.676 4.676 0 0 1 .027-2.02l-1.225-.72L1.6 1.808l1.225.72a4.806 4.806 0 0 1 1.782-.988L4.625.131zm3.339 4.846a2.214 2.214 0 0 1-.864 3.03 2.265 2.265 0 0 1-3.064-.853 2.214 2.214 0 0 1 .863-3.031 2.265 2.265 0 0 1 3.065.854z", fill: "#000", fillRule: "evenodd" })); }; SettingsImage.defaultProps = { width: "12", height: "12", viewBox: "0 0 12 12", xmlns: "http://www.w3.org/2000/svg" }; var Profile = /*#__PURE__*/function (_Component) { (0, _inherits2.default)(Profile, _Component); var _super = _createSuper(Profile); function Profile() { (0, _classCallCheck2.default)(this, Profile); return _super.apply(this, arguments); } (0, _createClass2.default)(Profile, [{ key: "componentDidMount", value: function componentDidMount() { this.checkRouteForModal(true); } }, { key: "checkRouteForModal", value: function checkRouteForModal(firstRun) { var _this$props = this.props, user = _this$props.user, actions = _this$props.actions, location = _this$props.location, history = _this$props.history; if (location.search.match('modal=settings')) return; var settingsUrl = "/user/profile/".concat(user.handle, "/settings"); var profileUrl = "/user/profile/".concat(user.handle); if (settingsUrl === location.pathname) { var searchString = "?redirect=".concat(profileUrl); if (firstRun && location.search !== searchString) { history.push({ search: searchString }); } actions.showModal('settings'); } } }, { key: "render", value: function render() { var _this$props2 = this.props, user = _this$props2.user, isOwner = _this$props2.isOwner, actions = _this$props2.actions, location = _this$props2.location, bio = _this$props2.bio; if (!user) { return /*#__PURE__*/_react.default.createElement("div", { className: "profileContainer" }, "User not found!"); } // TODO upload image button // let uploadImg; // if (this.props.auth.user && user._id === this.props.auth.user._id) { // uploadImg = <button className={'uploadImg edit'}>Update Profile Image</button>; // } return /*#__PURE__*/_react.default.createElement(_styled.Row, { sx: { m: [2, 4], alignItems: 'flex-start', justifyContent: 'flex-start' } }, /*#__PURE__*/_react.default.createElement(_UAvatar.default, { user: user, size: 10 }), /*#__PURE__*/_react.default.createElement(_styled.View, { sx: { ml: 2, flex: 1, flexWrap: 'wrap' } }, /*#__PURE__*/_react.default.createElement(_styled.Row, { sx: { justifyContent: 'space-between', alignItems: 'baseline', flexWrap: 'wrap' } }, /*#__PURE__*/_react.default.createElement(_styled.Row, { sx: { alignItems: 'baseline', flexShrink: 1, flexWrap: 'wrap' } }, /*#__PURE__*/_react.default.createElement(_styled.Header, { sx: { mr: 2 } }, user.name), /*#__PURE__*/_react.default.createElement(_profile.default, { user: user, isOwner: isOwner })), isOwner ? /*#__PURE__*/_react.default.createElement(_styled.InlineLink, { onClick: function onClick() { actions.logoutAction(user); }, to: "#" }, "Logout") : /*#__PURE__*/_react.default.createElement(_styled.View, null)), bio ? /*#__PURE__*/_react.default.createElement(_styled.BodyText, { sx: { mt: 2 } }, bio) : null, isOwner ? /*#__PURE__*/_react.default.createElement(_styled.Row, { sx: { alignItems: 'center', mt: 2 } }, /*#__PURE__*/_react.default.createElement(_styled.InlineLink, { c: 'black', hc: 'grey', to: "".concat(location.pathname, "/settings?redirect=").concat(location.pathname) }, /*#__PURE__*/_react.default.createElement(_styled.Text, { sx: { color: 'inherit' } }, /*#__PURE__*/_react.default.createElement(_styled.Text, { sx: { display: 'inline-block', transform: [{ translateY: 2 }] } }, /*#__PURE__*/_react.default.createElement(SettingsImage, null)), ' ', /*#__PURE__*/_react.default.createElement(_styled.AltLink, { sx: { color: 'inherit' } }, "Settings"))), /*#__PURE__*/_react.default.createElement(_styled.Box, { sx: { mr: 1 } }), /*#__PURE__*/_react.default.createElement(_styled.InlineLink, { to: '#', c: 'black', hc: 'grey', onClick: function onClick(e) { e.preventDefault(); actions.showModal('linkMobile'); } }, /*#__PURE__*/_react.default.createElement(_styled.Row, { sx: { mr: 0.5, alignItems: 'center' } }), /*#__PURE__*/_react.default.createElement(_styled.AltLink, { sx: { color: 'inherit' } }, "Connect Mobile Device"))) : null)); } }]); return Profile; }(_react.Component); (0, _defineProperty2.default)(Profile, "propTypes", { actions: _propTypes.default.object, isOwner: _propTypes.default.bool, user: _propTypes.default.object, location: _propTypes.default.object, history: _propTypes.default.object, bio: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]) }); var _default = (0, _reactRouterDom.withRouter)(Profile); exports.default = _default; //# sourceMappingURL=profile.component.js.map