UNPKG

@r3l/app

Version:
150 lines (126 loc) 5.05 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 _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