@r3l/app
Version:
156 lines (131 loc) • 6.74 kB
JavaScript
"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