@r3l/app
Version:
150 lines (126 loc) • 5.05 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 _react = _interopRequireWildcard(require("react"));
var _reactRedux = require("react-redux");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _gradient = _interopRequireDefault(require("./gradient.component"));
var _post = require("../../utils/post");
var _urlPreview = _interopRequireDefault(require("../createPost/mobile/urlPreview.component"));
var _navigation = require("../navigation/navigation.actions");
var _postTitle = _interopRequireDefault(require("./postTitle.component"));
var _dripsy = require("dripsy");
var _styled = require("../styled");
var _reactNativeWeb = require("react-native-web");
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; }
var GradientContainer = (0, _dripsy.styled)(_reactNativeWeb.View)({
position: 'absolute',
top: 0,
bottom: 0,
right: 0,
left: 0
});
var TitleContainer = (0, _dripsy.styled)(_reactNativeWeb.View)({
position: 'absolute',
bottom: 0,
left: 0,
right: 0
});
var IMAGE_HEIGHT = 30;
var PREVIEW_HEIGHT = 16;
ImagePost.propTypes = {
noLink: _propTypes.default.bool,
link: _propTypes.default.object,
post: _propTypes.default.object,
singlePost: _propTypes.default.bool,
preview: _propTypes.default.bool,
goToPost: _propTypes.default.func
};
var _default = /*#__PURE__*/(0, _react.memo)(ImagePost);
exports.default = _default;
function ImagePost(_ref) {
var post = _ref.post,
link = _ref.link,
goToPost = _ref.goToPost,
preview = _ref.preview,
noLink = _ref.noLink,
singlePost = _ref.singlePost;
var dispatch = (0, _reactRedux.useDispatch)();
if (!post) return null;
var imageUrl = link === null || link === void 0 ? void 0 : link.image;
var favIcon = (link === null || link === void 0 ? void 0 : link.domain) && (0, _post.getFavIcon)(link.domain);
var title = (0, _post.getTitle)({
post: post,
link: link
});
var image = imageUrl || favIcon;
var imgBg = image && /*#__PURE__*/_react.default.createElement(_styled.View, {
sx: {
flex: 1
}
}, /*#__PURE__*/_react.default.createElement(_styled.Image, {
resizeMode: "cover",
sx: {
flexDirection: 'row',
flex: 1,
width: '100%'
},
source: {
uri: image
}
}), /*#__PURE__*/_react.default.createElement(GradientContainer, null, /*#__PURE__*/_react.default.createElement(_gradient.default, {
title: title,
image: true,
preview: preview
})));
var imageHeight = preview ? PREVIEW_HEIGHT : IMAGE_HEIGHT;
if (preview) {
return /*#__PURE__*/_react.default.createElement(_urlPreview.default, {
size: "small",
urlPreview: link || post,
title: title,
image: image,
noLink: noLink
});
}
return /*#__PURE__*/_react.default.createElement(_styled.View, null, /*#__PURE__*/_react.default.createElement(_styled.Pressable, {
onClick: goToPost || function () {
return dispatch((0, _navigation.goToUrl)(post.url));
},
external: true,
to: post.url,
target: "_blank",
noLink: noLink,
sx: {
flex: 1
}
}, /*#__PURE__*/_react.default.createElement(_styled.View, {
sx: {
height: imageHeight * 8
}
}, imgBg || /*#__PURE__*/_react.default.createElement(_gradient.default, {
flex: 1,
title: title
}))), /*#__PURE__*/_react.default.createElement(TitleContainer, {
sx: {
flexDirection: 'row',
p: 2,
pt: 0,
pl: preview ? 0 : 2
}
}, /*#__PURE__*/_react.default.createElement(_postTitle.default, {
post: post,
link: link,
noLink: noLink,
title: title,
preview: preview,
singlePost: singlePost,
mobile: true
})));
}
//# sourceMappingURL=postinfo.mobile.component.js.map