@r3l/app
Version:
118 lines (100 loc) • 3.66 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = RStat;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _numbers = require("../../utils/numbers");
var _propValidation = require("../../utils/propValidation");
var _styled = require("../styled");
var _excluded = ["size", "user", "color", "mr", "align", "lh", "inline", "noSpace", "spaceBetween"];
var iconImage = require("../../../public/img/r-emoji.png");
function RStat(props) {
var _user$relevance;
var _props$size = props.size,
size = _props$size === void 0 ? 3 : _props$size,
user = props.user,
color = props.color,
mr = props.mr,
align = props.align,
lh = props.lh,
inline = props.inline,
noSpace = props.noSpace,
spaceBetween = props.spaceBetween,
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
if (!user) {
return null;
}
var pagerank = Math.max(0, (user === null || user === void 0 ? void 0 : (_user$relevance = user.relevance) === null || _user$relevance === void 0 ? void 0 : _user$relevance.reputation) || 0);
var imageMargin = align === 'center' ? -1 : 0.5;
var spacer = spaceBetween || size;
if (inline) {
return /*#__PURE__*/_react.default.createElement(_styled.Text, (0, _extends2.default)({}, rest, {
inline: inline ? 1 : 0,
align: align || 'center'
}), /*#__PURE__*/_react.default.createElement(_styled.Image, {
source: iconImage,
sx: {
height: size,
width: size,
transform: [{
translateY: imageMargin
}]
},
resizeMode: "contain"
}), noSpace ? '' : ' ', /*#__PURE__*/_react.default.createElement(_styled.Row, {
sx: {
width: spacer + 0.000001,
height: 0
}
}), /*#__PURE__*/_react.default.createElement(_styled.NumericalValue, {
inline: inline ? 1 : 0,
sx: {
color: color || 'black',
lineHeight: 8 * lh || 2
}
}, (0, _numbers.abbreviateNumber)(Number(pagerank.toFixed(2))) || 0));
}
return /*#__PURE__*/_react.default.createElement(_styled.Row, (0, _extends2.default)({}, rest, {
sx: {
alignItems: align,
mr: mr === 'number' ? mr : inline ? 0 : 1.5001 * 8
}
}), /*#__PURE__*/_react.default.createElement(_styled.Image, {
source: iconImage,
sx: {
height: size,
width: size,
transform: [{
translateY: imageMargin
}]
},
resizeMode: "contain"
}), /*#__PURE__*/_react.default.createElement(_styled.Row, {
sx: {
width: spacer + 0.000001,
height: 0
}
}), /*#__PURE__*/_react.default.createElement(_styled.NumericalValue, {
sx: {
color: color || 'black',
lineHeight: 8 * lh || 2
}
}, (0, _numbers.abbreviateNumber)(Number(pagerank.toFixed(2))) || 0));
}
RStat.propTypes = {
inline: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.number]),
lh: _propTypes.default.number,
align: _propTypes.default.string,
mr: _propTypes.default.number,
color: _propTypes.default.string,
user: _propValidation.userProps,
size: _propTypes.default.number,
spaceBetween: _propTypes.default.number,
noSpace: _propTypes.default.bool
};
//# sourceMappingURL=rStat.component.js.map