UNPKG

@r3l/app

Version:
322 lines (291 loc) 11.2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _reactNativeWeb = require("react-native-web"); var _global = require("../../../styles/global"); var _utils = require("../../../utils"); 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; /* eslint react/prop-types: 0 */ exports.data = {}; exports.text = {}; // list of tooltips to initalize on app load exports.tooltips = ['relevance', 'coin', 'topics', 'subscriptions', 'activity', 'shareTip', 'vote']; exports.data.default = { vertical: 'top', horizontal: 'right', horizontalOffset: 1, verticalOffset: 15 }; exports.data.relevance = { name: 'relevance', vertical: 'bottom', horizontal: 'right', horizontalOffset: 0, verticalOffset: 10 }; function renderRow(props, txt) { return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { key: txt, style: { flexDirection: 'row' } }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: [props.style] }, "\u2022"), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: [props.style, styles.ul] }, txt)); } exports.text.relevance = function relevance(props) { if (!props.auth.user) return null; var data = ['Your reputation score reflects your contributions to the community.', 'Your reputation goes down when you post spam.']; var dataEl = data.map(function (txt) { return renderRow(props, txt); }); var user = props.auth.user; var rel = user.relevance ? user.relevance.pagerank || 0 : 0; return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, null, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: [styles.textRow] }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: [props.style, styles.title] }, "This is your Reputation:", ' '), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Image, { resizeMode: 'contain', style: [styles.r, { width: 19, height: 16, marginBottom: 1 }], source: require("../../../../public/img/rWhite.png") }), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: [styles.bebas, props.style, _reactNativeWeb.Platform.OS === 'android' ? { marginBottom: 0 } : null, styles.title] }, _utils.numbers.abbreviateNumber(rel))), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.ulParent }, dataEl)); }; exports.data.coin = { name: 'coin', vertical: 'bottom', horizontal: 'right', horizontalOffset: 0, verticalOffset: 10 }; exports.text.coin = function coin(props) { if (!props.auth.user) return null; var data = ['Get coins by upvoting quality links. ', "The more coins you have, the more rewards you'll be able to earn"]; var dataEl = data.map(function (txt) { return renderRow(props, txt); }); return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, null, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { allowFontScaling: false, style: [styles.textRow] }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { style: [props.style, styles.title] }, "These are your coins: "), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Image, { resizeMode: 'contain', style: [styles.r, { width: 20, height: 18, marginBottom: 1 }], source: require("../../../../public/img/relevantcoin.png") }), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: [styles.bebas, props.style, _reactNativeWeb.Platform.OS === 'android' ? { marginBottom: 0 } : null, styles.title] }, _utils.numbers.abbreviateNumber(props.auth.user.balance + props.auth.user.tokenBalance))), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.ulParent }, dataEl)); }; exports.data.topics = { name: 'topics', vertical: 'bottom', horizontal: 'right', horizontalOffset: 0, verticalOffset: 10 }; exports.text.topics = function topics(props) { if (!props.auth.user) return null; return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { style: [props.style, { textAlign: 'center' }] }, "Press on Discover to toggle specific topics"); }; exports.data.subscriptions = { name: 'subscriptions', vertical: 'bottom', horizontal: 'right', horizontalOffset: 0, verticalOffset: 10 }; exports.text.subscriptions = function subscription(props) { if (!props.auth.user) return null; return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: [props.style, { textAlign: 'center' }] }, "When you upvote a post, you subscribe to the next 3 posts from the author"); }; exports.data.vote = { name: 'vote', vertical: 'top', horizontal: 'right', horizontalOffset: 1, verticalOffset: 15 }; exports.text.vote = function vote(props) { if (!props.auth.user) return null; var data = ['Upvote articles and that are worth reading, downvote spam.', "Voters will earn coins based on the article's ranking after 3 days"]; var dataEl = data.map(function (txt) { return renderRow(props, txt); }); return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, null, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: [props.style, styles.title] }, "Was it worth reading?"), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.ulParent }, dataEl)); }; exports.data.activity = { name: 'activity', vertical: 'top', horizontal: 'right', horizontalOffset: 0, verticalOffset: 0 }; exports.text.activity = function activity(props) { if (!props.auth.user) return null; var data = ['When others upvote your posts your Relevance goes up', 'You earn more Relevance from users that are more Relevant than you']; if (props.type && props.type.match('partial')) { data = ['You earn Relevance when you are one of the first to upvote a quality article', 'For best results find new posts no one upvoted yet']; } var dataEl = data.map(function (txt) { return renderRow(props, txt); }); return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, null, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: [props.style, styles.title] }, "Relevance"), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.ulParent }, dataEl)); }; exports.data.shareTip = { name: 'shareTip', vertical: 'top', horizontal: 'right', horizontalOffset: 0, verticalOffset: 4, noButton: true }; exports.text.shareTip = function shareTip() { var width = _global.fullWidth / 2.4; var Video = require('react-native-video').default; return /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.videoTip }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: { flex: 1 } }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.ol }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: [styles.textP, { fontWeight: 'bold', fontSize: 14 }] }, "Enable posting from Chrome, Safari and other apps:")), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.ol }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: styles.textP }, "1", ' '), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: styles.textP }, "Tap on share icon")), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.ol }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: styles.textP }, "2", ' '), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: styles.textP }, "Tap on 'More'")), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.ol }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: styles.textP }, "3", ' '), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: styles.textP }, "Find and toggle Relevant app")), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: styles.ol }, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: styles.textP }, "4", ' '), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.Text, { allowFontScaling: false, style: styles.textP }, "Rearrange Relevant icon as you like"))), /*#__PURE__*/_react.default.createElement(_reactNativeWeb.View, { style: { flex: 0, width: width, height: width + 40, overflow: 'hidden' } }, /*#__PURE__*/_react.default.createElement(Video, { resizeMode: 'contain', source: require("../../../../public/img/shareTip.mp4"), style: { width: width, height: width * 16 / 9, bottom: 0, position: 'absolute' }, repeat: true }))); }; var localStyles = _reactNativeWeb.StyleSheet.create({ ol: { flexDirection: 'row', paddingRight: 15 }, tooltipText: { fontSize: 15 }, title: { fontSize: 20, lineHeight: 22, fontWeight: 'bold' }, textP: { fontSize: 12, flex: 0, marginBottom: 10, color: 'white' }, videoTip: { flexDirection: 'row', alignItems: 'center' }, ul: { flex: 1, paddingLeft: 10, marginBottom: 10 }, ulParent: { flexDirection: 'column', marginTop: 20 } }); styles = _objectSpread(_objectSpread({}, _global.globalStyles), localStyles); //# sourceMappingURL=tooltip.helper.js.map