"use strict";

require("core-js/modules/es.weak-map.js");
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.CoalitionCardStampsDetail = void 0;
require("core-js/modules/web.dom-collections.iterator.js");
require("core-js/modules/es.symbol.description.js");
var _react = _interopRequireWildcard(require("react"));
var _CoalitionStampsProgress = require("./../CoalitionStampsProgress");
var _svgs = require("../../svgs");
var _utils = require("../../utils");
require("./CoalitionCardStampsDetail.css");
var _CoalitionCollapsible = require("../CoalitionCollapsible");
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; }
const CoalitionCardStampsDetail = _ref => {
  let {
    card
  } = _ref;
  const redeemable = card.balance >= card.required_balance || card.available_to_redeem >= 1;
  const [productImg, solveImg] = (0, _react.useState)();
  (0, _react.useEffect)(() => {
    const testImg = url => {
      let i = new Image();
      i.onload = () => solveImg((0, _utils.getImg)(url));
      i.onerror = () => solveImg( /*#__PURE__*/_react.default.createElement(_svgs.ProductSvgNotFound, null));
      i.src = url;
    };
    testImg(card.image);
  }, [card]);
  return /*#__PURE__*/_react.default.createElement("div", {
    className: "coalition-card-stamps-detail"
  }, /*#__PURE__*/_react.default.createElement("div", {
    className: "coalition-card-stamps-detail-main"
  }, /*#__PURE__*/_react.default.createElement("div", {
    className: "coalition-card-stamps-detail-product"
  }, productImg), /*#__PURE__*/_react.default.createElement("div", {
    className: "coalition-card-stamps-detail-specs"
  }, /*#__PURE__*/_react.default.createElement("h3", {
    className: "coalition-card-stamps-detail-title"
  }, card.title), redeemable ? /*#__PURE__*/_react.default.createElement(Ready, null) : null, /*#__PURE__*/_react.default.createElement("h4", {
    className: "coalition-card-stamps-detail-description"
  }, card.description), redeemable ? null : /*#__PURE__*/_react.default.createElement(InProgress, {
    card: card
  }))), /*#__PURE__*/_react.default.createElement(_CoalitionCollapsible.CoalitionCollapsible, {
    terms: card.terms_and_conditions
  }));
};
exports.CoalitionCardStampsDetail = CoalitionCardStampsDetail;
const InProgress = _ref2 => {
  let {
    card
  } = _ref2;
  const porqueria = card.available_to_redeem ? card.available_to_redeem * card.required_balance + card.balance : card.balance;
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
    className: "coalition-card-stamps-detail-dots"
  }, /*#__PURE__*/_react.default.createElement(_CoalitionStampsProgress.CoalitionStampsProgress, {
    used: porqueria,
    needed: card.required_balance,
    drawables: 9,
    footer: false
  })), /*#__PURE__*/_react.default.createElement("h6", {
    className: "coalition-card-stamps-detail-dots-text"
  }, "Acumulaste ", porqueria, " de ", card.required_balance, " sellos"));
};
const Ready = () => {
  return /*#__PURE__*/_react.default.createElement("div", {
    className: "coalition-card-stamps-detail-ready"
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_svgs.GiftIcon, null)), /*#__PURE__*/_react.default.createElement("h4", null, "\xA1Ya puedes cambiar tus sellos!"));
};