UNPKG

@r3l/app

Version:
156 lines (131 loc) 6.74 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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _reactNativeWeb = require("react-native-web"); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactRedux = require("react-redux"); var _styled = require("../../styled"); var _postButtons = _interopRequireDefault(require("./postButtons.container")); var _global = require("../../../styles/global"); var _commentBody = require("../../comment/commentBody"); var _postInfo = require("./postInfo.component"); 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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var styles; Comment.propTypes = { post: _propTypes.default.object, link: _propTypes.default.object, singlePost: _propTypes.default.bool, focusInput: _propTypes.default.func, preview: _propTypes.default.bool, avatarText: _propTypes.default.func, isReply: _propTypes.default.bool, index: _propTypes.default.number }; function Comment(_ref) { var post = _ref.post, index = _ref.index, preview = _ref.preview, singlePost = _ref.singlePost, isReply = _ref.isReply, avatarText = _ref.avatarText, focusInput = _ref.focusInput, link = _ref.link; var userId = (0, _reactRedux.useSelector)(function (state) { var _state$auth, _state$auth$user; return (_state$auth = state.auth) === null || _state$auth === void 0 ? void 0 : (_state$auth$user = _state$auth.user) === null || _state$auth$user === void 0 ? void 0 : _state$auth$user._id; }); var user = (0, _reactRedux.useSelector)(function (state) { var _state$user$users; return (_state$user$users = state.user.users) === null || _state$user$users === void 0 ? void 0 : _state$user$users[post === null || post === void 0 ? void 0 : post.user]; }) || (post === null || post === void 0 ? void 0 : post.embeddedUser); if (!post) return null; var hideButtons = preview; return /*#__PURE__*/_react.default.createElement(_styled.Box, { key: (post === null || post === void 0 ? void 0 : post._id) + index, style: [styles.commentaryContainer, preview ? { width: 'auto', flex: 1 } : null, preview ? { marginHorizontal: 0, marginTop: 2 } : null] }, isReply && !preview ? /*#__PURE__*/_react.default.createElement(_styled.Divider, null) : null, /*#__PURE__*/_react.default.createElement(_styled.Box, { style: [styles.commentary] }, /*#__PURE__*/_react.default.createElement(_styled.Row, { sx: { flex: 1, mt: 2, mb: preview ? 0 : 2 } }, isReply && !preview ? /*#__PURE__*/_react.default.createElement(_styled.Image, { sx: { width: 2, height: 2, mt: 1, mr: 1 }, resizeMode: 'contain', source: require("../../../../public/img/reply.png") }) : null, /*#__PURE__*/_react.default.createElement(_styled.Box, { style: { flex: 1 } }, /*#__PURE__*/_react.default.createElement(_postInfo.PostInfo, { big: true, post: post, ownPost: userId === (post === null || post === void 0 ? void 0 : post.user), singlePost: singlePost, user: user, avatarText: avatarText, preview: preview }), /*#__PURE__*/_react.default.createElement(_styled.Box, { style: [{ marginTop: preview && !post.link && !post.parentPost ? 0 : 1, flex: 1, justifyContent: 'center', marginLeft: avatarText ? 6 * 8 : 0 }] }, /*#__PURE__*/_react.default.createElement(_commentBody.CommentBody, { comment: post, preview: preview, inMainFeed: !singlePost && !preview })), !hideButtons && /*#__PURE__*/_react.default.createElement(_styled.Box, { sx: { my: 2 } }, /*#__PURE__*/_react.default.createElement(_postButtons.default, { horizontal: true, post: post, parentPost: post.parentPost ? post.parentPost : post, comment: post, link: link, focusInput: focusInput, singlePost: singlePost })))))); } var localStyles = _reactNativeWeb.StyleSheet.create({ commentaryContainer: { flexDirection: 'row', alignItems: 'center', alignSelf: 'center', width: _global.fullWidth - _global.mainPadding * 2, marginHorizontal: _global.mainPadding }, commentary: { flexGrow: 1, flexDirection: 'column' } }); styles = _objectSpread(_objectSpread({}, localStyles), _global.globalStyles); var _default = /*#__PURE__*/(0, _react.memo)(Comment); exports.default = _default; //# sourceMappingURL=comment.js.map