Repository URL to install this package:
|
Version:
2.1.0 ▾
|
@doodle/lib-paywall
/
build
/
components
/
PaywallModal
/
PrivateActiveLimit
/
PrivateActiveLimit.js
|
|---|
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _components = require("@doodle/components");
var _ic_check = _interopRequireDefault(require("@doodle/components/visuals/Icon/svg/ic_check.svg"));
var _route = require("../../../constants/route");
/* eslint-disable jsx-a11y/tabindex-no-positive */
/**
* Component that displays requested plan after limit.
*/
var PrivateActiveLimit =
/*#__PURE__*/
function (_PureComponent) {
(0, _inherits2["default"])(PrivateActiveLimit, _PureComponent);
function PrivateActiveLimit() {
(0, _classCallCheck2["default"])(this, PrivateActiveLimit);
return (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(PrivateActiveLimit).apply(this, arguments));
}
(0, _createClass2["default"])(PrivateActiveLimit, [{
key: "render",
value: function render() {
var _this$props = this.props,
onRejectRequest = _this$props.onRejectRequest,
onSubscribe = _this$props.onSubscribe,
businessPrice = _this$props.businessPrice,
activeCalendarMax = _this$props.activeCalendarMax,
messages = _this$props.messages;
return _react["default"].createElement("div", {
className: "paywall-view"
}, _react["default"].createElement("h3", {
className: "paywall-view_title private-view_title"
}, "".concat(messages.limitCalendarsTitleStart, " ").concat(activeCalendarMax, " ").concat(messages.limitCalendarsTitleEnd)), _react["default"].createElement("p", {
className: "paywall-view_info private-view_info"
}, _react["default"].createElement("span", null, "".concat(messages.limitCalendarsDescription_start, " ")), _react["default"].createElement("span", null, "".concat(messages.limitCalendarsDescription_end, " "), _react["default"].createElement(_components.Link, {
to: window.location.origin + _route.PREMIUM_PAGE,
title: messages.businessPlanLink,
variant: "dark",
tabIndex: 0
}, messages.businessPlanLink))), _react["default"].createElement("div", {
className: "paywall-view_description private-view_description"
}, _react["default"].createElement("h3", {
className: "paywall-view_label private-view_label"
}, "".concat(messages.upgradeTitle, " "), _react["default"].createElement("span", {
className: "paywall-view_plan"
}, messages.businessTitle)), _react["default"].createElement("span", {
className: "paywall-view_price private-view_price"
}, "$\xA0", _react["default"].createElement("span", {
className: "paywall-view_price-value"
}, businessPrice), "\xA0/", messages.period), _react["default"].createElement("span", {
className: "paywall-view_features-title private-view_features-title"
}, messages.featuresTitle), _react["default"].createElement("ul", {
className: "paywall-view_benefits private-view_benefits"
}, _react["default"].createElement("li", {
className: "paywall-view_benefit"
}, messages.currentBenefit), _react["default"].createElement("li", {
className: "paywall-view_benefit paywall-view_benefit--highlight"
}, _react["default"].createElement(_components.Icon, {
icon: _ic_check["default"],
className: "Icon paywall-view_benefit-icon"
}), messages.unlimitedInvitesBenefit), _react["default"].createElement("li", {
className: "paywall-view_benefit paywall-view_benefit--highlight"
}, _react["default"].createElement(_components.Icon, {
icon: _ic_check["default"],
className: "Icon paywall-view_benefit-icon"
}), messages.brandingBenefit), _react["default"].createElement("li", {
className: "paywall-view_benefit paywall-view_benefit--highlight"
}, _react["default"].createElement(_components.Icon, {
icon: _ic_check["default"],
className: "Icon paywall-view_benefit-icon"
}), messages.otherDoodleBenefit)), _react["default"].createElement(_components.Button, {
variant: "blue",
onClick: onSubscribe,
className: "Button paywall-view_link",
tabIndex: 2
}, messages.upgradeButtonTitle)), _react["default"].createElement(_components.Button, {
variant: "linkBlue",
className: "paywall-view_link private-view_link",
onClick: onRejectRequest
}, messages.skipTitle));
}
}]);
return PrivateActiveLimit;
}(_react.PureComponent);
exports["default"] = PrivateActiveLimit;
(0, _defineProperty2["default"])(PrivateActiveLimit, "propTypes", {
/**
* A price of business plan.
*/
businessPrice: _propTypes["default"].number.isRequired,
/**
* A maximum number of active calendars.
*/
activeCalendarMax: _propTypes["default"].number.isRequired,
/**
* A callback fired when user subscribes on business plan.
*/
onSubscribe: _propTypes["default"].func.isRequired,
/**
* A callback fired when user rejects request.
*/
onRejectRequest: _propTypes["default"].func.isRequired,
messages: _propTypes["default"].shape({
limitCalendarsTitleStart: _propTypes["default"].string.isRequired,
limitCalendarsTitleEnd: _propTypes["default"].string.isRequired,
limitCalendarsDescription_start: _propTypes["default"].string.isRequired,
limitCalendarsDescription_end: _propTypes["default"].string.isRequired,
businessPlanLink: _propTypes["default"].string.isRequired,
upgradeTitle: _propTypes["default"].string.isRequired,
businessTitle: _propTypes["default"].string.isRequired,
period: _propTypes["default"].string.isRequired,
featuresTitle: _propTypes["default"].string.isRequired,
currentBenefit: _propTypes["default"].string.isRequired,
skipTitle: _propTypes["default"].string.isRequired,
unlimitedInvitesBenefit: _propTypes["default"].string.isRequired,
brandingBenefit: _propTypes["default"].string.isRequired,
otherDoodleBenefit: _propTypes["default"].string.isRequired,
upgradeButtonTitle: _propTypes["default"].string.isRequired
}).isRequired
});